网站是怎么优化推广的,网站开发 英文文章,南京做网站建设的公司,免费产品推广网站selenium里面的Webdriver的get()方法默认是阻塞的#xff0c;也就是说要等整个页面全都加载完它才会相应。但我们大部分时候不需要用到页面里的所有东西#xff0c;也许只需要用到里面的一个元素就行了
所以下面是我的解决方法#xff1a;
初始化代码#xff1a;
# 设置…selenium里面的Webdriver的get()方法默认是阻塞的也就是说要等整个页面全都加载完它才会相应。但我们大部分时候不需要用到页面里的所有东西也许只需要用到里面的一个元素就行了
所以下面是我的解决方法
初始化代码
# 设置driver.get()非阻塞
option webdriver.ChromeOptions()
option.page_load_strategy none # 设置 pageLoadStrategy 为 none (也就是非阻塞)
driver webdriver.Chrome(optionsoption)
driver.get(https://baidu.com) # 替换你的目标网站那么问题来了设置为非阻塞确实能大大节约时间但有可能你想要的网页上的那个元素还没加载出来他就给你继续做下面的操作了这怎么办。
我的解决方法是用while循环判断找到符合条件元素的个数。如果是0那就继续找如果非0就表明找到了就可以跳出循环做接下来的操作了。
代码
while True:elem driver.find_elements(By.XPATH, xpath)print(cnt :, len(elem))if len(elem) 0:elem elem[0]break# 找到元素跳出循环后做你接下来的事情
当然我也是刚了解selenium这个库这里提供给各位一个思路如果各位有更好的思路欢迎在评论区跟我交流 : )