条件语句- Try,Except,Else -
我正在使用Selenium/Python自动化一些下载和上传文件的任务。
有没有办法让Selenium/Python识别页面是否被加载为404?即我下面的“尝试”尝试。
我的目标是让脚本关闭选项卡,如果它加载为404错误并循环,直到找到可下载的文件。该文件为PDF格式。
我曾尝试使用XPath搜索特定文本,例如:
“此外,在尝试使用ErrorDocument处理请求时,遇到了404 Not Found错误。”-但我不确定所需的正确编码。我是新手,所以谢谢你对我的忍耐。
下面是脚本的底部,它也在循环中-(‘图标’是下载按钮,它显示在可下载的页面上,但不显示在404页面上)
try:
Download = driver.find_element_by_id('icon')
if Download == driver.find_element_by_id('icon'):
raise Exception
except Exception:
pyautogui.time.sleep(2)
pyautogui.hotkey('ctrl','s')
pyautogui.time.sleep(2)
pyautogui.hotkey('enter')
pyautogui.time.sleep(2)
pyautogui.hotkey('ctrl','w')
pyautogui.click(771, 374, duration=0.55)
pyautogui.click(867, 276, duration=0.55)
else:
pyautogui.time.sleep(2)
pyautogui.hotkey('ctrl','w')
pyautogui.time.sleep(2)
pyautogui.doubleClick(79, 136, duration=0.55)
pyautogui.time.sleep(15)
pyautogui.click(642, 442, duration=0.55)
pyautogui.time.sleep(2)
pyautogui.hotkey('ctrl','s')
pyautogui.time.sleep(2)
pyautogui.hotkey('enter')
pyautogui.time.sleep(2)
pyautogui.hotkey('ctrl','w')
pyautogui.click(771, 374, duration=0.55)
pyautogui.click(867, 276, duration=0.55)如果加载了404网页,上面的代码不会关闭它。相反,脚本保存网页404,而不是尝试脚本的"Else“部分。
谢谢你的帮助!(如果我能投赞成票,我会的。)
发布于 2019-05-30 19:54:35
Webdriver不会捕获http404,这不是在API中实现的,也不会实现,请检查their issue tracker。你可以只使用python,也许是this will help。
https://stackoverflow.com/questions/56369077
复制相似问题