隐式等待

1.隐式等待一次声明后,对下面所有的代码都有效。

缺点:不管定位任何元素,都会走隐式等待的代码中去,效率较低,不建议用。

from selenium import webdriver

# 创建浏览器驱动对象,这里是打开浏览器
driver = webdriver.Chrome("D:\toolseleniumchromedriver.exe")
# 声明隐式等待,只对声明之后的代码有效
# 隐式等待默认参数是秒,如下代码,最大超时时间为 5 秒
# 当脚本执行到某个元素定位的时候,能定位就继续执行
# 如果不能定位,以轮询的方式(0.5s 检查一次)不断的判断元素是否能被定位
# 假设,在第 x(x<=最大超时时间) 秒定位到元素了,就不等了,继续往下执行
# 若直到最大时长还没定位成功,就抛出异常
driver.implicitly_wait(5)
# 访问网址
driver.get("https://m.weibo.cn/")

# 点击大家都在搜
driver.find_element_by_xpath("/html/body/div/div/div/div/a//div").click()
# 点击微博热搜榜
driver.find_element_by_css_selector("#app > div:nth-child(1) > div:nth-child(1) > div.card.m-panel.card16.m-col-2 > div > div > div:nth-child(8) > div > div > h4")
原文地址:https://www.cnblogs.com/zhuxibo/p/14148255.html