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

标签 python-3.x selenium selenium-webdriver selenium-chromedriver

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

No Internet

Try:

  • Checking the network cables, modem and router

  • Reconnecting to Wi-Fi

ERR_INTERNET_DISCONNECTED



由于没有超时,我的代码只是继续搜索元素并且没有发现互联网的丢失。

当 chrome 没有互联网时,是否会引发异常?

代码:
driver = webdriver.Chrome(executable_path=mypath)
driver.implicitly_wait(10)    
driver.set_page_load_timeout(10)

try:  
    driver.get(url)
    elem = driver.find_element_by_xpath(xpath).get_attribute("content")

except TimeoutException:
    print('TimeoutException')

最佳答案

也许你可以检测是否元素 No 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")

关于python-3.x - 使用 Python 和 Chromedriver 进行 Internet 异常处理的 Selenium 丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53593284/

相关文章:

selenium - 而不是 sendkeys 最后从剪贴板复制的项目被输入到元素中

testing - Firefox Selenium - 在特定索引处输入

java - 45000 毫秒后无法连接到端口 7055 上的主机 127.0.0.1。使用 FF 版本 26.0 和 selenium 独立 jar 2.39

css - selenium 2.0 中 css 和等效 xpath 之间的区别

Python - 用于将某些行写入新文件的 CSV 模块

python - 递归计算嵌套数字列表中的出现次数

internet-explorer-8 - Selenium + IE8 : force IE8 compatibility view

java - 使用 Appium 删除用于 IPAD 和 IPHONE 真实设备的移动 Safari 浏览器 Cookie

python - 如何解决: 'str' object has no attribute 'data_format' in keras

Python 3.6 - 将包含类型 'bytes' 的字典保存到文件