使用 Selenium 捕获 404 错误 [重复]

Posted

技术标签:

【中文标题】使用 Selenium 捕获 404 错误 [重复]【英文标题】:Catching a 404 error with Selenium [duplicate] 【发布时间】:2013-07-13 11:34:57 【问题描述】:

我在 Java 中使用 Selenium 和 JUnit,我想知道通过单击链接打开新弹出窗口时是否发生 404 错误(我正在搜索类似 assertTrue(selenium.no404error()) 的东西。

我该怎么做?

【问题讨论】:

【参考方案1】:

您无法测试 HTTP 状态代码是否为 404。这在 this other thread 中进行了解释。唯一的方法是测试页面中的某些内容,这些内容只能在您的 404 错误页面中。例如:

assertTrue(driver.getTitle().contains("404"));

如果您不确定您的网页是否包含特定内容,例如 404找不到网页。您可以从服务器生成一个特殊的标记代码(例如,<head> 部分中的 <meta> 标记)并使用 WebDriver 对其进行测试。

【讨论】:

反对这个答案的人:你能解释一下原因吗? 漂亮的解决方案。我笑了5分钟。 :) 答案是好的,坏的是(没有)硒溶液... 我不明白为什么 selenium 无法访问响应标头并使它们可用。

以上是关于使用 Selenium 捕获 404 错误 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

在 selenium webdriver 中捕获屏幕截图 [重复]

如何在不调整窗口大小的情况下使用 Java 在 Selenium Webdriver 中捕获屏幕截图 [重复]

使用 axios 从 404 响应中捕获错误消息或在 javascript 中获取

在 Asp.net Web API 中捕获 404 错误

如何在 urllib.urlretrieve 中捕获 404 错误

JavaScript fetch()无法捕获404的错误