【问题标题】: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

【讨论】:

    猜你喜欢
    • 2023-02-15
    • 2012-05-29
    • 1970-01-01
    • 2013-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-12
    • 2018-10-14
    相关资源
    最近更新 更多