Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 使用Python和Chromedriver处理Internet异常的Selenium丢失_Python 3.x_Selenium_Selenium Webdriver_Selenium Chromedriver - Fatal编程技术网

Python 3.x 使用Python和Chromedriver处理Internet异常的Selenium丢失

Python 3.x 使用Python和Chromedriver处理Internet异常的Selenium丢失,python-3.x,selenium,selenium-webdriver,selenium-chromedriver,Python 3.x,Selenium,Selenium Webdriver,Selenium Chromedriver,我希望我的代码能够处理互联网瘫痪一段时间的情况。目前,我正在使用带有TimeoutException的try/except子句进行此操作,但这不起作用,因为没有internet时Chrome不会超时,它只返回此页面: 没有互联网 尝试: 检查网络电缆、调制解调器和路由器 重新连接到Wi-Fi 错误\u互联网\u断开连接 由于没有超时,我的代码只会继续搜索元素,而不会捕获丢失的internet 当chrome中没有互联网时,是否有可能引发异常 代码: 也许您可以检测元素是否不存在Intern

我希望我的代码能够处理互联网瘫痪一段时间的情况。目前,我正在使用带有TimeoutException的try/except子句进行此操作,但这不起作用,因为没有internet时Chrome不会超时,它只返回此页面:

没有互联网

尝试:

  • 检查网络电缆、调制解调器和路由器

  • 重新连接到Wi-Fi

错误\u互联网\u断开连接

由于没有超时,我的代码只会继续搜索元素,而不会捕获丢失的internet

当chrome中没有互联网时,是否有可能引发异常


代码:


也许您可以检测元素
是否不存在Internet

def has_connection(driver):
    try:
        driver.find_element_by_xpath('//span[@jsselect="heading" and @jsvalues=".innerHTML:msg"]')
        return False
    except: return True

driver = webdriver.Chrome()
driver.get("https://www.google.com")

if not has_connection(driver):
    print('No Internet connection, aborted!')
    driver.quit()
    exit()

# connection is good continue
elem = driver.find_element_by_xpath(xpath).get_attribute("content")

@debanjanb,这个问题与NETERROR错误页面无关,我不想导航到任何其他选项卡,请解释一下为什么添加了重复标签?重新打开问题。非常感谢,我可以看出,这可能是一个有用的解决办法——但这难道不取决于谷歌浏览器在没有互联网连接的情况下保持这种页面格式吗?我正试图使代码尽可能健壮,因此我对测试无internet页面上的元素犹豫不决。这只是最简单的方法,还有更多方法,但selenium本身没有检测连接是否中断的选项或功能。
def has_connection(driver):
    try:
        driver.find_element_by_xpath('//span[@jsselect="heading" and @jsvalues=".innerHTML:msg"]')
        return False
    except: return True

driver = webdriver.Chrome()
driver.get("https://www.google.com")

if not has_connection(driver):
    print('No Internet connection, aborted!')
    driver.quit()
    exit()

# connection is good continue
elem = driver.find_element_by_xpath(xpath).get_attribute("content")