首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python使用Selenium定位If Else条件的404错误

Python使用Selenium定位If Else条件的404错误
EN

Stack Overflow用户
提问于 2019-05-30 05:58:06
回答 1查看 1.4K关注 0票数 0

条件语句- Try,Except,Else -

我正在使用Selenium/Python自动化一些下载和上传文件的任务。

有没有办法让Selenium/Python识别页面是否被加载为404?即我下面的“尝试”尝试。

我的目标是让脚本关闭选项卡,如果它加载为404错误并循环,直到找到可下载的文件。该文件为PDF格式。

我曾尝试使用XPath搜索特定文本,例如:

“此外,在尝试使用ErrorDocument处理请求时,遇到了404 Not Found错误。”-但我不确定所需的正确编码。我是新手,所以谢谢你对我的忍耐。

下面是脚本的底部,它也在循环中-(‘图标’是下载按钮,它显示在可下载的页面上,但不显示在404页面上)

代码语言:javascript
运行
复制
    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“部分。

谢谢你的帮助!(如果我能投赞成票,我会的。)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-30 19:54:35

Webdriver不会捕获http404,这不是在API中实现的,也不会实现,请检查their issue tracker。你可以只使用python,也许是this will help

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56369077

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档