问题标签 [selenium-chromedriver]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
100519 浏览

python - 如何获取部分链接文本找到的元素的 href?

我使用 Selenium 和 Chrome 驱动程序:

links = browser.find_elements_by_partial_link_text('##')匹配大约 160 个链接。

如果我尝试,

有了它,我得到了所有链接的文本:

链接是这样的:

如何获取href找到的所有链接的属性?

0 投票
1 回答
1189 浏览

selenium-chromedriver - Selenium ChromeDriver 目前是否支持处理弹出窗口?

单击 Chrome 浏览器上的按钮后,我必须处理一个弹出窗口。一旦以编程方式启动弹出窗口,驱动程序对象的任何进一步操作都会导致此异常:

OpenQA.Selenium.WebDriverException:服务器没有响应 url

driver.WindowHandles弹出窗口启动后,窗口句柄列表 ( ) 的数量也没有变化。请不要将此与在选项卡中切换窗口混淆。

Selenium ChromeDriver 目前是否支持处理弹出窗口?

0 投票
2 回答
1819 浏览

java - ChromeDriver 无法与 OS X 上的浏览​​器通信

我正在尝试在 OS X 上使用 chrome 运行 selenium 测试。它适用于 firefox,但 chrome 驱动程序似乎无法与浏览器通信。

这是我的代码:


当我运行它时,firefox 启动正常,但对于 chrome,我收到此错误:

0 投票
4 回答
3070 浏览

java - ajax 按钮的 WebElement.click() 之后如何避免 StaleElementException?

我有一个页面,它有一个带有一个输入字段和一个提交按钮的小表单。提交按钮是 AJAX!当我单击它时,它会将输入值提交给服务器,服务器要么将其验证为可接受并加载新页面,要么发现问题并添加反馈错误标签。

我编写了以下硒代码来测试此功能:

问题是,submitInput.click()如果通过事件加载新页面,则会立即完成并返回:selenium docs,因此通过“反馈”进行检索的调用工作正常,我可以通过调试看到它正确获取了元素,但是StaleElementException当我打电话时我得到了一个feedback.getText(),因为页面已经在后台刷新了。

我怎样才能让测试通过而没有:

  1. 添加 Thread.sleep()。
  2. 添加一个StaleElementException捕获以重新获取元素。

注意:上述测试在输入无效时有效,因为页面未刷新,但在输入有效时无效。

任何帮助将非常感激。

编辑:请注意,在元素出现之前轮询页面不是问题,而是检测是否submitInput.click()加载新页面或将文本添加到现有标签的问题。

编辑 2:为了说明问题,我编译了一个时间记录的贯穿测试和服务器日志:

您可以看到服务器在测试发送后仅半秒多一点就收到了点击事件。它立即响应(在这种情况下)重定向命令。由于单击是 AJAX 事件,因此根据文档在后台继续进行测试,这导致(如您所见)测试在服务器收到新页面请求之前 0.004 秒检索反馈。在feedback.getText()解析并发送到 ChromeDriver 时,服务器已经响应了一个新页面,因此该函数返回过时异常。

关键是我可以使用 修复这个问题Thread.sleep(1000),但这远非理想;首先是因为在某些情况下,服务器解析 AJAX 并返回结果的时间可能超过半秒,这使得测试具有不确定性,其次因为这些时间很快就会堆积起来并浪费时间,通常是不必要的,当只有一个需要几毫秒。

0 投票
1 回答
560 浏览

selenium - 将 chromedriver 与 selenium 一起使用时出现非法访问错误

在 selenium 中使用 chromedriver 时出现 IllegalAccessError。我已将 chromedriver.exe 添加到我的路径中,并将其设置为 java 代码。这是我的代码

这是控制台输出:

我也尝试运行 chromedriver.exe 然后执行代码,仍然出现错误。

0 投票
1 回答
379 浏览

internet-explorer - watir-webdriver - 使用特殊字符设置 text_field 时,chrome 和 IE 更改输入

我正在尝试将文本插入文本字段。它有一些特殊字符。原来是 Chrome 和 IE 的问题。

Chrome 在我的引号前插入单引号。这不是唯一的情况。当我用这个原始文本设置字段时:

~ !^ & ` ´ ¨ ' "

Chrome 实际上用这个值设置字段

`~!^ & ``'''¨ '''"

在 IE 中它会删除一些空格

~!^& `´¨ ' "

只有 Firefox 使用我的原始文本设置字段。

有人可以帮我在 Chrome 和 IE 中设置确切的文本吗?谢谢。

0 投票
0 回答
893 浏览

google-chrome - 来自 ChromeDriver 的 Chrome aw snap

我有一个使用 selenium 和 chromedriver 的集成测试套件。在上周,我注意到来自 chrome 的 aw snap 页面非常频繁地出现。当我将 chromedriver 切换到 firefoxdriver 时,一切正常。aw snap pages 爆发的原因可能是什么?

我正在使用最新版本的 Chrome 和 ChromeDriver:

镀铬版本 22.0.1229.79 m

chromedriver_win_23.0.1240.0

0 投票
4 回答
136378 浏览

python - 如何使用 Python 将选项传递给 Selenium Chrome 驱动程序?

Selenium 文档提到 Chrome 网络驱动程序可以采用 的实例,ChromeOptions但我不知道如何创建ChromeOptions.

我希望将--disable-extensions标志传递给 Chrome。

0 投票
2 回答
723 浏览

selenium - selenium 和 JBehave 的另一种选择?

我在 ATC 上工作了 2 个月,但我仍然遇到 Chrome、Selenium 和 JBehave 的问题。selenium 的 Chrome 驱动程序有一些错误。例如:有时它说找不到或无法点击组件。对于这种情况,我使用了一种解决方法,但它有点令人讨厌。

当我运行 ATC 时,有时其中一个会由于 chrome selenium 驱动程序错误而失败!另外,我不喜欢 JBehave 的报告。

有人可以建议我创建 ATC 的另一种选择吗?

谢谢!!!

萨朗

0 投票
2 回答
626 浏览

selenium-webdriver - WebDriver Chrome 问题

操作系统:Windows。使用硒网络驱动程序。我下载了 chromedriver.exe,为其设置路径,chrome 运行但步骤未运行,这是日志: