我在使用Chrome驱动程序和Selenium时遇到了一些麻烦,我拥有selenium.support版本3.141.0,chrome驱动程序版本2.43.0和Google Chrome版本71.0.3578.98。
在测试运行期间,我单击了一个按钮,这会打开一个新窗口,但是由于某种原因,该窗口是空白的,而不是应该加载的站点。我试图手动复制它,但除了试运行,它不会发生。
您有任何解释或知道发生这种情况的原因吗?
答案 0 :(得分:0)
我有几次这个问题...
我发现我要单击的元素不是真正调用重新呈现到下一页的元素...
我的解决方案
所以...为了到达父元素,我在XPath中使用了parent
方法。
例如,如果我正在寻找带有id='x_d'
的元素,那么我使用:Window.WaitForElement(By.XPath("//*[contains(@id, 'x')]")).click();
现在的问题是调用者是父级,因此我将使用访问父级a
:
Window.WaitForElement(By.XPath("//*[contains(@id, 'x')]//parent :: a")).click();
希望这对您有帮助!