URL Selenium 超出了最大重试次数[重复]

Posted

技术标签:

【中文标题】URL Selenium 超出了最大重试次数[重复]【英文标题】:Max retries exceeded with URL Selenium [duplicate] 【发布时间】:2020-03-16 23:33:26 【问题描述】:

所以我希望遍历一个 URL 数组并打开不同的 URL 以使用 Selenium 进行网络抓取。问题是,当我点击第二个 browser.get(url) 时,我得到一个“URL 超出最大重试次数”和“无法建立连接,因为目标机器主动拒绝它”。

编辑:添加了其余的代码,虽然它只是 BeautifulSoup 的东西。

from bs4 import BeautifulSoup
import time
from selenium import webdriver
from selenium.webdriver import Chrome
from selenium.webdriver.chrome.options import Options
import json

chrome_options = Options()  
chromedriver = webdriver.Chrome(executable_path='C:/Users/andre/Downloads/chromedriver_win32/chromedriver.exe', options=chrome_options)
urlArr = ['https://link1', 'https://link2', '...']

for url in urlArr:
   with chromedriver as browser:
      browser.get(url)
      time.sleep(5)
      # Click a button
      chromedriver.find_elements_by_tag_name('a')[7].click()

      chromedriver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
      time.sleep(2)
      for i in range (0, 2):
         chromedriver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
         time.sleep(5)

      html = browser.page_source
      page_soup = BeautifulSoup(html, 'html.parser')
      boxes = page_soup.find("div", "class": "rpBJOHq2PR60pnwJlUyP0")
      videos = page_soup.findAll("video", "class": "_1EQJpXY7ExS04odI1YBBlj")

这里的其他帖子说当您一次使用太多页面并且服务器将我拒之门外时会发生这种情况,但这不是我的问题。每当我多次调用 browser.get(url) 时,就会发生上述错误。

发生了什么事?谢谢。

【问题讨论】:

【参考方案1】:

解决了这个问题。您必须重新创建网络驱动程序。

from bs4 import BeautifulSoup
import time
from selenium import webdriver
from selenium.webdriver import Chrome
from selenium.webdriver.chrome.options import Options
import json


urlArr = ['https://link1', 'https://link2', '...']

for url in urlArr:
   chrome_options = Options()  
   chromedriver = webdriver.Chrome(executable_path='C:/Users/andre/Downloads/chromedriver_win32/chromedriver.exe', options=chrome_options)
   with chromedriver as browser:
      browser.get(url)
      time.sleep(5)
      # Click a button
      chromedriver.find_elements_by_tag_name('a')[7].click()

      chromedriver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
      time.sleep(2)
      for i in range (0, 2):
         chromedriver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
         time.sleep(5)

      html = browser.page_source
      page_soup = BeautifulSoup(html, 'html.parser')
      boxes = page_soup.find("div", "class": "rpBJOHq2PR60pnwJlUyP0")
      videos = page_soup.findAll("video", "class": "_1EQJpXY7ExS04odI1YBBlj")

【讨论】:

你没有解决任何问题。现在您正在为每个 url 打开一个新浏览器(而不是关闭它们)

以上是关于URL Selenium 超出了最大重试次数[重复]的主要内容,如果未能解决你的问题,请参考以下文章

HTTPConnectionPool(host='0.0.0.0', port=5000): url 超出最大重试次数

运行 dbt 时 BigQuery“超出最大重试次数”

ng build 时超出调用重试次数异常

已执行最大重试次数。上传ipa问题

是否可以设置同一会话中所有池连接之间共享的最大重试次数?

执行的最大重试次数。应用程序加载器问题