首页 > 解决方案 > Python/Selenium:“无法访问此站点”导致“未知错误:无法确定加载状态”

问题描述

我正在运行一个脚本,它可以很好地抓取我需要的一些数据。该脚本抓取给定网页上的一些现有 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

标签: pythonseleniumweb-scraping

解决方案


尝试导入请求并检查站点的状态代码。对于一个处于活动状态的站点,它的状态代码通常应该是 200。如果它没有状态代码 200,那么很可能无法访问它

import requests

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

推荐阅读