我正在将Chrome与硒配合使用,并且测试运行良好,直到Internet /代理连接突然断开,然后browser.get(url)才给我以下信息:
如果我重新加载页面达99%,它将正常加载,那么处理此问题的正确方法是什么?
我的代码:
def web_adress_navigator(browser, link):
"""Checks and compares current URL of web page and the URL to be navigated and if it is different, it does navigate"""
try:
current_url = browser.current_url
except WebDriverException:
try:
current_url = browser.execute_script("return window.location.href")
except WebDriverException:
current_url = None
if current_url is None or current_url != link:
retries = 5
while retries > 0:
try:
browser.get(link)
break
except TimeoutException:
logger.warning('TimeoutException when tring to reach page')
retries -= 1
while not is_connected():
sleep(60)
logger.warning('there is no valid connection')
我不是进入超时异常,而是进入休息时间。
答案 0 :(得分:1)
根据您的问题和尝试通过参数 FlushFileBuffers(hfile)
传递的 url 时的代码试用,您可以在以下方面调整策略: / p>
link
进行传递。range()
,程序就会以预定的间隔调用get(link)
,以使 url包含来自的预定义WebDriverWait()
网址。titleContains()
在partialURL
块中处理此代码,并且在try{}
的情况下,可以在{{1}中再次调用TimeoutException
}块。您修改后的代码块将是:
browser.get(link)