【问题标题】:Python Selenium send request and avoid "Waiting for (website) ...."Python Selenium 发送请求并避免“等待(网站)......”
【发布时间】:2017-09-24 23:29:23
【问题描述】:
我在不同的选项卡上发起了几个请求。在加载一个选项卡时,我将迭代地转到其他选项卡并查看它们是否已正确加载。这个机制很好用,除了一件事:浪费了很多时间“等待(网站)......”
当我必须找到的关键元素丢失时,我从一个选项卡转到另一个选项卡的方式是启动异常。但是,为了检查这个异常(并因此在其他选项卡上继续,因为它应该这样做)发生的是我必须等待请求结束(所以消息“等待...”消失)。
可以不等吗?也就是说,是否可以通过browser.get(..) 发起请求,然后立即更改选项卡?
【问题讨论】:
标签:
python
selenium
web-scraping
wait
【解决方案1】:
是的,您可以这样做。您需要更改驱动程序的 pageLoadStrategy。下面是一个firefox的例子
import time
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from selenium import webdriver
cap = DesiredCapabilities.FIREFOX
cap["pageLoadStrategy"] = "none"
print(DesiredCapabilities.FIREFOX)
driver = webdriver.Firefox(capabilities=cap)
driver.get("http://tarunlalwani.com")
#execute code for tab 2
#execute code for tab 3
现在什么都不会等待,一切由您来完成。你也可以用eager代替none