为什么我会断开连接:未连接到 Python Selenium ChromeDriver 的 DevTools 错误?

Why am I getting disconnected: not connected to DevTools error with Python Selenium ChromeDriver?

提问人:Programmer0403 提问时间:11/14/2023 更新时间:11/14/2023 访问量:34

问:

我正在使用硒来获取这个网站上每个人的名字:USTA网站

(我是那些初级网球运动员之一,所以这并不令人毛骨悚然)

获得名称后,我打开ChromeDriver并使用for循环将它们输入搜索栏,单击其行,获取其数据(WTN评级),返回并使用下一个名称。

单击和收集数据部分可以在 1-4 分钟内工作,然后只是断开连接并且不做任何事情。关闭驱动程序后,它给了我这个: 然后: img1img2

我删除了以前的 chromedriver 并安装了版本 119.0.6045.105。我有 chrome 版本 119.0.6045.124,但没有 chromedriver 支持它。

这是我必须点击并收集数据的代码:

for n in name_list:
    for letter in n:
        if letter in ['.','/']:
            letter.pop()
    try:
        driver.maximize_window()
        driver.execute_script('window.scrollTo(0,0)')
        search = WebDriverWait(driver, 30).until(
            EC.presence_of_element_located((By.XPATH, "//*[@id='container-9a770322f5']/div/div/div/div/input"))
        )
        #search.click()
        search.clear()
        search.send_keys(n)
    finally:
        pass
        

    try:
        profile = WebDriverWait(driver, 30).until(
            EC.presence_of_element_located((By.XPATH, "//*[@id='container-c80bd54915']/div/div[4]/div/div[2]"))
        )
        if profile.text == n:
            profile.click()
        else:
            time.sleep(1)
            profile.click()
    except:
        try:
            driver.quit()
            driver = webdriver.Chrome()
            driver.get("https://www.usta.com/en/home/play/rankings.html#tab=junior&junior-rankListGender=M&junior-ageRestriction=Y14&junior-juniorListType=seeding")
            try:
                driver.maximize_window()
                driver.execute_script('window.scrollTo(0,0)')
                search = WebDriverWait(driver, 5).until(
                    EC.presence_of_element_located((By.XPATH, "//*[@id='container-9a770322f5']/div/div/div/div/input"))
                )
                search.clear()
                search.send_keys(n)
                try:
                    profile = WebDriverWait(driver, 30).until(
                        EC.presence_of_element_located((By.XPATH, "//*[@id='container-c80bd54915']/div/div[4]/div/div[2]"))
                    )
                    if profile.text == n:
                        profile.click()
                    else:
                        time.sleep(1)
                        profile.click()
                finally:
                    pass
                    #search.click()
            finally:
                pass
        except:
            wtn_list.append('err')
            dubs_wtn_list.append('err')
            continue
    finally:
        pass


    try:
        wtn = WebDriverWait(driver, 5).until(
            EC.presence_of_element_located((By.XPATH, "//*[@id='wtnwidget-fbdae59336']/div[2]/div[1]/div/div/p"))
        )
        wtn_list.append(str(wtn.text))
        
    except:
        wtn_list.append("err")
        pass
    finally:
        pass


    try:
        dubs_wtn = WebDriverWait(driver, 5).until(
            EC.presence_of_element_located((By.XPATH, "//*[@id='wtnwidget-fbdae59336']/div[2]/div[2]/div/div/p"))
        )
        dubs_wtn_list.append(str(dubs_wtn.text))
        driver.back()
    except:
        driver.back()
        dubs_wtn_list.append('err')
    finally:
        pass

    try:
        search = WebDriverWait(driver, 2).until(
            EC.presence_of_element_located((By.XPATH, "//*[@id='container-9a770322f5']/div/div/div/div/input"))
        )
        search.clear()
    except:
        driver.back()
        

    
    

driver.quit()

几天前它工作正常,我看遍了 Stack Overflow,所以我真的不知道。

python selenium-webdriver 网页抓取错误 处理 selenium-chromedriver

评论


答: 暂无答案