URL Selenium

时间:2019-11-21 05:49:23

标签: python selenium selenium-webdriver web-scraping beautifulsoup

因此,我希望遍历URL数组并打开其他URL以使用Selenium进行Web抓取。问题是,当我点击第二个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 个答案:

答案 0 :(得分:0)

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

private void selectionSort() {
        int best = 0;
        int j = 0;
        SortableRobot bestSoFar = botList.get(0);
        for(int i = 0;i<botList.size();i++) {
            int[] temp = botList.get(j).getLocation();
            for(int x = j;x<botList.size();x++) {
                if(botList.get(j).compareTo(botList.get(x)) < 0) {
                    // botList.get(j).moveToLocation(botList.get(x).getLocation());
                    // botList.get(x).moveToLocation(temp);
                    bestSoFar = botList.get(x);
                    best = x;
                }
            }
            SortableRobot tempbot = botList.get(j);
            botList.set(best,tempbot);
            botList.set(j, bestSoFar);
            j++;
        }
    }