【问题标题】:How to make selenium Not Wait page loading Just One Time?如何使硒不等待页面加载一次?
【发布时间】:2019-06-19 02:35:55
【问题描述】:

我的问题很简单。我在 Python 中使用 Selenium。

Selenium 的默认页面加载策略是等待页面完全加载。我真的很喜欢这样,但我想让我的 selenium 不等待页面加载 Just One Time。

我知道有一种方法可以使 selenium 驱动程序对象不等待页面加载,永远具有所需的功能。

capa = DesiredCapabilities.CHROME
capa["pageLoadStrategy"] = "none"
driver = webdriver.Chrome(desired_capabilities=capa)
driver.get(URL)

但我希望我的司机只等一次。我怎样才能做到这一点?我已经看到不可能更改所需的功能。

当然,我需要使用相同的驱动程序对象,因为我必须从驱动程序控制窗口。

【问题讨论】:

    标签: python selenium


    【解决方案1】:

    我明白你的意思。您想在驱动程序启动后更改其属性。你可以试试这个代码。

    capa = DesiredCapabilities.CHROME
    capa["pageLoadStrategy"] = "none"
    driver = webdriver.Chrome(desired_capabilities=capa)
    driver.get(URL)
    driver.desired_capabilities.update({'pageLoadStrategy':'normal'})
    driver.get(URL)
    

    当我打印类属性时,它肯定会在运行时改变加载策略。虽然我不确定它是否真的影响浏览器的行为,因为浏览器的属性是在驱动程序初始化时创建的。

    【讨论】:

    • 我刚试过。但这并没有影响浏览器的行为。 T_T
    【解决方案2】:

    我不明白您所说的“仅等待一次”是什么意思。不过由于Chrome驱动还不支持pageLoadStrategy = eager所以你可以试试driver.implicitly_waithere还有更详细的解释,就不赘述了。

    Similar question

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 2017-03-15
      • 2018-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-20
      • 2019-06-11
      • 1970-01-01
      相关资源
      最近更新 更多