c# - 在测试运行期间单击按钮会打开一个空白窗口 selenium c#
问题描述
我在使用 Chrome 驱动程序和 Selenium 时遇到了一些困难,我有 selenium.support 版本 3.141.0、chrome 驱动程序版本 2.43.0 和 Google Chrome 版本 71.0.3578.98。
在测试运行期间,我单击一个打开一个新窗口的按钮,但由于某种原因,该窗口是空白的,而不是应该加载的站点。我试图手动复制它,但除了测试运行之外它不会发生。
您有什么解释或知道发生这种情况的原因吗?
解决方案
这个问题我遇到过几次...
我发现我试图单击的元素不是实际调用重新渲染到下一页的元素......
我的解决方案
所以...为了获得父元素,我使用了parent
XPath 中的方法。
例如,如果我正在寻找一个元素,id='x_d'
那么我使用:Window.WaitForElement(By.XPath("//*[contains(@id, 'x')]")).click();
现在的问题是 Invoker 是父级,因此要访问a
我将使用的父级:
Window.WaitForElement(By.XPath("//*[contains(@id, 'x')]//parent :: a")).click();
希望这对你有帮助!
推荐阅读
- flask - Flask socket io 在另一个类模块中不起作用
- windows - 通过 Add-PrinterPort PowerShell 命令添加 IPP 端口?
- c - Prints out the number of multiples of 11 that are greater than or equal to N1 and less than or equal to N2
- javascript - MomentJS - utcOffset() 不应用偏移量?
- python-3.x - 如何按百分比增加图形的大小但保持原始纵横比?
- ms-access - 基于文本框隐藏/取消隐藏组合框
- javascript - 映射一个由五个圆圈组成的数组,并突出显示正在映射的当前元素
- python - Django 中的 ModelNotFoundError
- flutter - 从计算机(macos)上传图像或 svg 以用于 Flutter Web
- javascript - 使用 JQuery 显示和隐藏文章元素