python selenium 表现等待 + EC

打印 上一主题 下一主题

主题 632|帖子 632|积分 1898

python selenium 表现等待 + EC
expected_conditions是selenium的一个模块,主要用于对页面元素的加载进行判断,包括元素是否存在,可点击等等。
presence_of_element_located(locator)方法:判断一个元素存在于页面中,存在则返回元素本身,不存在则报错。参数locator:定位器是一个数据类型元组(“元素定位方式”, “方式对应的值”)
例子:
  1. '''
  2. 需求:打开https://www.baidu.com,输入中秋节快乐,点击百度一下,点击搜索处理的第一个链接,要求先对每个元素进行判断,元素存在则再进行输入或点击的操作
  3. '''
  4. from selenium import webdriver
  5. from selenium.webdriver.common.by import By
  6. from selenium.webdriver.support import expected_conditions as EC
  7. from selenium.webdriver.support.wait import WebDriverWait
  8. # 打开浏览器
  9. driver = webdriver.Chrome()
  10. # 打开百度
  11. driver.get('https://www.baidu.com/')
  12. # 输入中秋节快乐
  13. loc_search = (By.ID, 'kw')
  14. ele_serach = EC.presence_of_element_located(loc_search)(driver)
  15. ele_serach.send_keys('中秋节快乐')
  16. # 点击百度一下按钮
  17. loc_button = (By.ID, 'su')
  18. ele_button = EC.presence_of_element_located(loc_button)(driver)
  19. ele_button.click()
  20. # 点击第一个链接
  21. loc_click = (By.XPATH, '//*[@id="1"]/div/div[1]/div/h3/a/div/div/p/span/span')
  22. # 利用显示等待判断元素是否出现
  23. wait = WebDriverWait(driver, 5, 1)
  24. ele_click = wait.until(EC.presence_of_element_located(loc_click), message='没有找到该元素')
  25. ele_click.click()
  26. # 关闭浏览器
  27. driver.quit()
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

拉不拉稀肚拉稀

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表