本文整理汇总了Python中selenium.webdriver.support.expected_conditions.presence_of_element_located方法的典型用法代码示例。如果您正苦于以下问题:Python expected_conditions.presence_of_element_located方法的具体用法?Python expected_conditions.presence_of_element_located怎么用?Python expected_conditions.presence_of_element_located使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类selenium.webdriver.support.expected_conditions
的用法示例。
在下文中一共展示了expected_conditions.presence_of_element_located方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: submit_user_data
# 需要导入模块: from selenium.webdriver.support import expected_conditions [as 别名]
# 或者: from selenium.webdriver.support.expected_conditions import presence_of_element_located [as 别名]
def submit_user_data(self):
# Submit to Authent-Number Page (press button).
wait = WebDriverWait(self.driver, timeout=6)
try:
self.driver.execute_script(
'document.getElementsByTagName("button")[0].click()'
)
wait.until(
EC.presence_of_element_located(
(By.ID, 'idRandomPic')
)
)
except:
self.label_show_result.setText(
'【連線逾時或是網路不穩定】\n' +
'【請檢查網路環境以及是否為尖峰時段。】'
)
示例2: index_page
# 需要导入模块: from selenium.webdriver.support import expected_conditions [as 别名]
# 或者: from selenium.webdriver.support.expected_conditions import presence_of_element_located [as 别名]
def index_page(page):
try:
print('正在爬取第: %s 页' % page)
wait.until(
EC.presence_of_element_located((By.ID, "dt_1")))
# 判断是否是第1页,如果大于1就输入跳转,否则等待加载完成。
if page > 1:
# 确定页数输入框
input = wait.until(EC.presence_of_element_located(
(By.XPATH, '//*[@id="PageContgopage"]')))
input.click()
input.clear()
input.send_keys(page)
submit = wait.until(EC.element_to_be_clickable(
(By.CSS_SELECTOR, '#PageCont > a.btn_link')))
submit.click()
time.sleep(2)
# 确认成功跳转到输入框中的指定页
wait.until(EC.text_to_be_present_in_element(
(By.CSS_SELECTOR, '#PageCont > span.at'), str(page)))
except Exception:
return None
示例3: login
# 需要导入模块: from selenium.webdriver.support import expected_conditions [as 别名]
# 或者: from selenium.webdriver.support.expected_conditions import presence_of_element_located [as 别名]
def login(driver, filename):
logger.info('准备更新cookie')
# screen_shot = driver.save_screenshot('bin/1.png')
WebDriverWait(driver, 10).until(
ec.presence_of_element_located((By.XPATH, r'//*[@id="login-username"]')))
username = driver.find_element_by_xpath(r'//*[@id="login-username"]')
username.send_keys(engine.user_name)
password = driver.find_element_by_xpath('//*[@id="login-passwd"]')
password.send_keys(engine.pass_word)
driver.find_element_by_class_name("btn-login").click()
# logger.info('第四步')
# try:
cracker = slider_cracker(driver)
cracker.crack()
# except:
# logger.exception('出错')
time.sleep(5)
if driver.title == '投稿 - 哔哩哔哩弹幕视频网 - ( ゜- ゜)つロ 乾杯~ - bilibili':
cookie = driver.get_cookies()
print(cookie)
with open(filename, "w") as f:
json.dump(cookie, f)
logger.info('更新cookie成功')
else:
logger.info('更新cookie失败')
示例4: wait_for_element
# 需要导入模块: from selenium.webdriver.support import expected_conditions [as 别名]
# 或者: from selenium.webdriver.support.expected_conditions import presence_of_element_located [as 别名]
def wait_for_element(driver: 'WebDriver', locator: str, value: str, timeout: int = SLEEPY_TIME) -> 'WebElement':
"""Wait until the element located
Args:
driver: WebDriver instance
locator: Locator like WebDriver, Mobile JSON Wire Protocol
(e.g. `appium.webdriver.common.mobileby.MobileBy.ACCESSIBILITY_ID`)
value: Query value to locator
timeout: Maximum time to wait the element. If time is over, `TimeoutException` is thrown
Raises:
`selenium.common.exceptions.TimeoutException`
Returns:
The found WebElement
"""
return WebDriverWait(driver, timeout).until(
EC.presence_of_element_located((locator, value))
)
示例5: scan_webdriver
# 需要导入模块: from selenium.webdriver.support import expected_conditions [as 别名]
# 或者: from selenium.webdriver.support.expected_conditions import presence_of_element_located [as 别名]
def scan_webdriver(self):
self.browser.get(self.entry_url)
try:
WebDriverWait(self.browser, 30).until(
EC.presence_of_element_located((By.TAG_NAME, "body"))
)
except TimeoutException as e:
messages.error(self.request, e)
self.browser.delete_all_cookies()
self.browser.add_cookie(self.wtm_cookie)
self.browser.add_cookie(self.wtm_debug_cookie)
self.browser.get(self.entry_url)
for cookie in self.browser.get_cookies():
self.process_webdriver_cookie(cookie)
self.browser.quit()
示例6: sign_off
# 需要导入模块: from selenium.webdriver.support import expected_conditions [as 别名]
# 或者: from selenium.webdriver.support.expected_conditions import presence_of_element_located [as 别名]
def sign_off(self):
"""Submit questionnaire and finish.
This uses Selenium to click the submit button on the questionnaire
and return to the original window.
"""
try:
logger.info("Bot player signing off.")
feedback = WebDriverWait(self.driver, 20).until(
EC.presence_of_element_located((By.ID, "submit-questionnaire"))
)
self.complete_questionnaire()
feedback.click()
logger.info("Clicked submit questionnaire button.")
self.driver.switch_to_window(self.driver.window_handles[0])
self.driver.set_window_size(1024, 768)
logger.info("Switched back to initial window.")
return True
except TimeoutException:
logger.error("Error during experiment sign off.")
return False
示例7: SwitchModal
# 需要导入模块: from selenium.webdriver.support import expected_conditions [as 别名]
# 或者: from selenium.webdriver.support.expected_conditions import presence_of_element_located [as 别名]
def SwitchModal(self, option, frame=''):
'''
Sets the focus in a modal object
'''
try:
time.sleep(2)
self.driver.switch_to.default_content()
self.driver.implicitly_wait(30)
modaldupGuia = self.wait.until(EC.presence_of_element_located((By.ID, "modal-content")))
if modaldupGuia.is_displayed():
btn = self.driver.find_element_by_xpath("//button[contains(text(), '%s')]" % option)
btn.click()
else:
time.sleep(2)
if modaldupGuia.is_displayed():
btn = self.driver.find_element_by_xpath("//button[contains(text(), '%s')]" % option)
btn.click()
except Exception as e:
self.log_error(str(e))
示例8: click_tiles
# 需要导入模块: from selenium.webdriver.support import expected_conditions [as 别名]
# 或者: from selenium.webdriver.support.expected_conditions import presence_of_element_located [as 别名]
def click_tiles(driver, coords):
orig_srcs, new_srcs = {}, {}
for (x, y) in coords:
logging.debug("[*] Going to click {} {}".format(x,y))
tile1 = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, '//div[@id="rc-imageselect-target"]/table/tbody/tr[{0}]/td[{1}]'.format(x, y))))
orig_srcs[(x, y)] = driver.find_element(By.XPATH, "//*[@id=\"rc-imageselect-target\"]/table/tbody/tr[{}]/td[{}]/div/div[1]/img".format(x,y)).get_attribute("src")
new_srcs[(x, y)] = orig_srcs[(x, y)] # to check if image has changed
tile1.click()
wait_between(0.1, 0.5)
logging.debug("[*] Downloading new inbound image...")
new_files = {}
for (x, y) in orig_srcs:
while new_srcs[(x, y)] == orig_srcs[(x, y)]:
new_srcs[(x, y)] = driver.find_element(By.XPATH, "//*[@id=\"rc-imageselect-target\"]/table/tbody/tr[{}]/td[{}]/div/div[1]/img".format(x,y)).get_attribute("src")
time.sleep(0.5)
urllib.urlretrieve(new_srcs[(x, y)], "captcha.jpeg")
new_path = TASK_PATH+"/new_output{}{}.jpeg".format(x, y)
os.system("mv captcha.jpeg "+new_path)
new_files[(x, y)] = (new_path)
return new_files
示例9: test_stick_to_top_admin
# 需要导入模块: from selenium.webdriver.support import expected_conditions [as 别名]
# 或者: from selenium.webdriver.support.expected_conditions import presence_of_element_located [as 别名]
def test_stick_to_top_admin(self):
self.browser.get(self.live_server_url + reverse("niji:index"))
login(self.browser, 'super', '123')
self.assertIn("Log out", self.browser.page_source)
lucky_topic1 = getattr(self, 't%s' % random.randint(1, 50))
self.browser.get(self.live_server_url+reverse('niji:topic', kwargs={"pk": lucky_topic1.pk}))
self.browser.find_element_by_class_name('move-topic-up').click()
up_level = WebDriverWait(
self.browser, 10
).until(
expected_conditions.presence_of_element_located(
(By.NAME, 'move-topic-up-level')
)
)
up_level = Select(up_level)
up_level.select_by_visible_text('1')
time.sleep(1)
self.browser.execute_script("$('.modal-confirm').click()")
self.browser.get(self.live_server_url+reverse('niji:index'))
first_topic_title = self.browser.find_elements_by_class_name('entry-link')[0].text
self.assertEqual(first_topic_title, lucky_topic1.title)
示例10: regular_login
# 需要导入模块: from selenium.webdriver.support import expected_conditions [as 别名]
# 或者: from selenium.webdriver.support.expected_conditions import presence_of_element_located [as 别名]
def regular_login(url, course_folder, driver):
driver.get("https://www.lynda.com/signin/") # launch lynda.com/signin
# enter username
email = driver.find_element_by_css_selector("#email-address")
email.clear()
email.send_keys(read.username)
driver.find_element_by_css_selector('#username-submit').click()
print('\nusername successfully entered ....')
# wait for password field to appear
WebDriverWait(driver, 15).until(
EC.presence_of_element_located((By.CSS_SELECTOR, "#password-input")))
# enter password
passwrd = driver.find_element_by_css_selector('#password-input')
passwrd.send_keys(read.password)
driver.find_element_by_css_selector('#password-submit').click()
print('password successfully entered ....')
示例11: Single_Issue
# 需要导入模块: from selenium.webdriver.support import expected_conditions [as 别名]
# 或者: from selenium.webdriver.support.expected_conditions import presence_of_element_located [as 别名]
def Single_Issue(url,Quality):
#print url
print 'Quality To Download : ',Quality[0]
print 'Order To Download : ',Quality[1]
#sys.exit()
#print url,' This is first'
browser = webdriver.PhantomJS(service_args=['--load-images=no'])
browser.get(url)
try:
element = WebDriverWait(browser, 10).until(
EC.presence_of_element_located((By.ID, "stSegmentFrame"))
)
#print 'Downloading the whole page! Will take some time, please don\'t close this script...\n'
#print 'I\'ve waited long enough'
except Exception, e:
#raise e
browser.save_screenshot('Single_exception.png')
print e
pass
示例12: __init__
# 需要导入模块: from selenium.webdriver.support import expected_conditions [as 别名]
# 或者: from selenium.webdriver.support.expected_conditions import presence_of_element_located [as 别名]
def __init__(self, wait, screenshot=None, session=None):
chrome_options = Options()
if session:
chrome_options.add_argument("--user-data-dir={}".format(session))
self.browser = webdriver.Chrome(options=chrome_options) # we are using chrome as our webbrowser
else:
self.browser = webdriver.Chrome()
self.browser.get("https://web.whatsapp.com/")
# emoji.json is a json file which contains all the emojis
with open("emoji.json") as emojies:
self.emoji = json.load(emojies) # This will load the emojies present in the json file into the dict
WebDriverWait(self.browser,wait).until(EC.presence_of_element_located(
(By.CSS_SELECTOR, '._3FRCZ')))
if screenshot is not None:
self.browser.save_screenshot(screenshot) # This will save the screenshot to the specified file location
# This method is used to send the message to the individual person or a group
# will return true if the message has been sent, false else
示例13: send_message
# 需要导入模块: from selenium.webdriver.support import expected_conditions [as 别名]
# 或者: from selenium.webdriver.support.expected_conditions import presence_of_element_located [as 别名]
def send_message(self, name, message):
message = self.emojify(message) # this will emojify all the emoji which is present as the text in string
search = self.browser.find_element_by_css_selector("._3FRCZ")
search.send_keys(name+Keys.ENTER) # we will send the name to the input key box
try:
send_msg = WebDriverWait(self.browser, self.timeout).until(EC.presence_of_element_located(
(By.XPATH, "/html/body/div/div/div/div[4]/div/footer/div[1]/div[2]/div/div[2]")))
messages = message.split("\n")
for msg in messages:
send_msg.send_keys(msg)
send_msg.send_keys(Keys.SHIFT+Keys.ENTER)
send_msg.send_keys(Keys.ENTER)
return True
except TimeoutException:
raise TimeoutError("Your request has been timed out! Try overriding timeout!")
except NoSuchElementException:
return False
except Exception:
return False
# This method will count the no of participants for the group name provided
示例14: get_last_seen
# 需要导入模块: from selenium.webdriver.support import expected_conditions [as 别名]
# 或者: from selenium.webdriver.support.expected_conditions import presence_of_element_located [as 别名]
def get_last_seen(self, name, timeout=10):
search = self.browser.find_element_by_css_selector("._3FRCZ")
search.send_keys(name+Keys.ENTER) # we will send the name to the input key box
last_seen_css_selector = "._315-i"
start_time = dt.datetime.now()
try:
WebDriverWait(self.browser,self.timeout).until(EC.presence_of_element_located(
(By.CSS_SELECTOR, last_seen_css_selector)))
while True:
last_seen = self.browser.find_element_by_css_selector(last_seen_css_selector).text
if last_seen and "click here" not in last_seen:
return last_seen
end_time = dt.datetime.now()
elapsed_time = (end_time-start_time).seconds
if elapsed_time > 10:
return "None"
except TimeoutException:
raise TimeoutError("Your request has been timed out! Try overriding timeout!")
except NoSuchElementException:
return "None"
except Exception:
return "None"
# This method does not care about anything, it sends message to the currently active chat
# you can use this method to recursively send the messages to the same person
示例15: send_blind_message
# 需要导入模块: from selenium.webdriver.support import expected_conditions [as 别名]
# 或者: from selenium.webdriver.support.expected_conditions import presence_of_element_located [as 别名]
def send_blind_message(self, message):
try:
message = self.emojify(message)
send_msg = WebDriverWait(self.browser, self.timeout).until(EC.presence_of_element_located(
(By.XPATH, "/html/body/div/div/div/div[4]/div/footer/div[1]/div[2]/div/div[2]")))
messages = message.split("\n")
for msg in messages:
send_msg.send_keys(msg)
send_msg.send_keys(Keys.SHIFT+Keys.ENTER)
send_msg.send_keys(Keys.ENTER)
return True
except NoSuchElementException:
return "Unable to Locate the element"
except Exception as e:
print(e)
return False
# This method will send you the picture