繁体   English   中英

Python/Selenium:“无法访问此站点”导致“未知错误:无法确定加载状态”

[英]Python/Selenium: "This site can't be reached" caused "unknown error: cannot determine loading status"

我正在运行一个脚本,可以很好地抓取我需要的一些数据。 该脚本抓取给定网页上的一些现有 URL 并访问每个 URL 以获取最终 URL。 当最终 URL 未找到“无法访问此站点”时,就会出现问题。 代码崩溃了,我在日志中得到了这个:

    selenium.common.exceptions.WebDriverException: Message: unknown error: session deleted because of page crash
    from unknown error: cannot determine loading status
    from tab crashed
    (Session info: chrome=84.0.4147.135)
    (Driver info: chromedriver=2.43.600210 (68dcf5eebde37173d4027fa8635e332711d2874a),platform=Windows NT 6.1.7601 SP1 x86_64)

这是我用来抓取最终 URL 的代码:

    #Open link (opens in new tab)
    elem = driver.find_element_by_xpath('//*[@id="popup__teaser"]/div[6]/div/div/a')
    elem.click()
    time.sleep(2)

    #wait for redirection to load - switch to the new tab - grab and print the new URL
    driver.get(driver.current_url)
    time.sleep(1)
    driver.switch_to_window(driver.window_handles[1])
    URL= driver.current_url

    #Close active tab 
    driver.close()

    #switch to main tab
    driver.switch_to_window(driver.window_handles[0])

有人可以帮忙解决这个问题吗? 只有在找不到重定向 URL 时才会发生这种情况。 谢谢

编辑:我尝试添加chrome_options.add_argument('--disable-dev-shm-usage')但它没有用。

EDIT2: 这是导致崩溃的 URL

尝试导入请求并检查站点的状态代码。 要使站点处于活动状态,它的状态代码通常应为 200。如果它没有状态代码 200,则可能无法访问它

import requests

if requests.get(url).status_code!=200:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM