簡體   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