python selenium 表现等待 + EC

[复制链接]
发表于 2024-9-14 12:07:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
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企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表