Python Selenium发送请求并避免“等待(网站)......”

时间:2017-09-24 23:29:24

标签: python selenium web-scraping wait

我在不同的标签上发布了几个请求。当一个选项卡加载时,我将迭代地转到其他选项卡,看看它们是否已正确加载。除了一件事之外,这种机制很有效:浪费了很多时间“等待(网站)......”

我从一个选项卡转到另一个选项卡的方式是每当我必须找到的关键元素丢失时启动异常。但是,为了检查这个异常(因此继续其他选项卡,就像它应该做的那样),我必须等待请求结束(因此消息“Waiting for ...”消失)。

有可能不等待吗?也就是说,是否可以通过browser.get(..)启动请求,然后立即更改标签?

1 个答案:

答案 0 :(得分: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