【问题标题】:Python selenium open page in loopPython selenium循环打开页面
【发布时间】:2020-12-24 18:59:43
【问题描述】:

我想在 python 的循环中执行它: 对于范围内的 i (x) 1.打开网站 2. 听我的指示 3.关闭页面 我的代码:

 PATH = "C:\Program Files (x86)\chromedriver.exe"
   driver = webdriver.Chrome(PATH)

   for i in range(1,100):

       driver.get("google.com")
       time.sleep(5)
       driver.quit()
       time.sleep(5)

它只工作一次,全部执行一次并显示错误。我该怎么办?

【问题讨论】:

    标签: python selenium loops webdriver


    【解决方案1】:

    您的问题是,一旦您致电 quit(),您就终止了会话。由于会话被破坏,下一次调用驱动程序将失败。您需要创建一个新的驱动程序实例。

    使用上下文管理器,使用with 语句

    for i in range(1, 100):
        with webdriver.Chrome(PATH) as driver:
            driver.get("https://google.com")
            time.sleep(5)
    

    这将在不显式调用方法的情况下打开和关闭会话。

    【讨论】:

    • 这应该钉住OP
    【解决方案2】:

    尝试删除driver.quit()。您不需要在每个循环中都关闭驱动程序窗口;您可以使用同一窗口导航到新页面。但是如果你确实在每个循环中关闭一个,那么你也需要在每个循环中打开一个。

    【讨论】:

    • for i in range(1,100): driver = webdriver.Chrome(PATH) driver.get("google.com") time.sleep(5) driver.quit() time.sleep(5 )
    • 完美!关窗后可能不需要睡觉。
    猜你喜欢
    • 2019-05-26
    • 1970-01-01
    • 1970-01-01
    • 2017-03-31
    • 1970-01-01
    • 2023-02-02
    • 2020-07-01
    • 2022-10-06
    • 1970-01-01
    相关资源
    最近更新 更多