首页 > 解决方案 > 在测试运行期间单击按钮会打开一个空白窗口 selenium c#

问题描述

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

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

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

标签: c#seleniumautomationselenium-chromedriver

解决方案


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

我发现我试图单击的元素不是实际调用重新渲染到下一页的元素......

我的解决方案

所以...为了获得父元素,我使用了parentXPath 中的方法。

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

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

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

希望这对你有帮助!


推荐阅读