c# - 在测试运行期间单击按钮会打开一个空白窗口 selenium c#

标签 c# selenium automation selenium-chromedriver

我在使用 Chrome 驱动程序和 Selenium 时遇到了一些困难,我有 selenium.support 版本 3.141.0、chrome 驱动程序版本 2.43.0 和 Google Chrome 版本 71.0.3578.98。

在测试运行期间,我单击了一个打开新窗口的按钮,但由于某种原因,该窗口是空白的,而不是应该加载的站点。我尝试手动复制它,但除了测试运行之外它不会发生。

你有什么解释或知道发生这种情况的原因吗?

最佳答案

这个问题我遇到过好几次了...

我发现我试图点击的元素并不是实际调用重新呈现到下一页的元素...

我的解决方案

所以...为了到达父元素,我在 XPath 中使用了 parent 方法。

例如,如果我正在寻找具有 id='x_d' 的元素,那么我使用:Window.WaitForElement(By.XPath("//*[contains(@id , 'x')]")).click();

现在的问题是 Invoker 是父级,所以要访问父级 a 我将使用:

Window.WaitForElement(By.XPath("//*[contains(@id, 'x')]//parent :: a")).click();

希望对你有帮助!

关于c# - 在测试运行期间单击按钮会打开一个空白窗口 selenium c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53801023/

相关文章:

c# - Windows 上等效的 UpdateSystemActivity 是什么

c# - .NET DataGrid 复制/粘贴

c# - 使用经度纬度和日期时间的地方的 future 本地时间

python - Python 中的 Selenium + Flask/Falcon - 502 错误网关错误

php - 如何连续比较当前时间与数据库中的日期时间字段?

c# - 如何在不将整个文档加载到内存的情况下处理 Xml 文件?

python - Selenium,使用 Python,如何简化脚本以便我可以从其他 python 脚本运行它们?

python - 导入库 'SeleniumLibrary' 失败 : ModuleNotFoundError: No module named 'SeleniumLibrary' In VS Code

java - 如何改善appium中点击之间的时间?

java - 检查Web服务是否正在运行