【问题标题】:How to loop through a list of urls using Selenium and Python如何使用 Selenium 和 Python 遍历 url 列表
【发布时间】:2020-11-12 06:31:49
【问题描述】:

大家好,我想在 selenium 中循环 url 每次循环时它必须在 chrome 驱动程序弹出时更改列表中的 url 这是我的想法代码:

from selenium import webdriver
    
List = ['http://facebook.com','http://youtube.com','http://google.com']
while True:
    driver = webdriver.Chrome()
    driver.get(List)
    driver.quit()            

【问题讨论】:

    标签: python-3.x selenium loops selenium-webdriver webdriver


    【解决方案1】:

    要使用Selenium 循环浏览网址列表,您可以使用以下解决方案:

    • 代码块:

      from selenium import webdriver
      import time
      
      url_list = ['http://facebook.com','http://youtube.com','http://google.com']
      for url in url_list:
          driver = webdriver.Chrome(executable_path=r'C:\WebDrivers\chromedriver.exe')
          driver.get(url)
          time.sleep(3)
          print(driver.title)
          driver.quit()
      
    • 控制台输出:

      Facebook – log in or sign up
      YouTube
      Google
      

    【讨论】:

    • 有没有办法做到这一点而不必每次都重新加载驱动程序?我想如果你有大量的 URL (~1000) 会导致程序显着变慢
    【解决方案2】:

    尝试使用 itertools.cycle() 无限循环遍历列表

    from selenium import webdriver
    import itertools
    List = ['http://facebook.com','http://youtube.com','http://google.com']
    for url in itertools.cycle(List):
        driver = webdriver.Chrome()
        driver.get(url)
        driver.quit()
    

    使用 range() 限制无限循环。

    【讨论】:

    • 嘿,谢谢你的帮助,但是当我尝试这样做时,它会在我的 chrome 驱动程序中不断循环并不断切换 URL,所以我不想那样,我想要它就像驱动程序退出并且 URL 切换到另一个不会像那样一次循环 URL。
    • 嗨,我已经更新了答案,新的代码段应该可以工作,并且会在一个 url 之后无限循环
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-17
    • 2020-05-15
    • 2022-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-22
    相关资源
    最近更新 更多