Selenium Webdriver (Java) ,需要将“Space”按键发送到整个网站

Jua*_*tin 1 java selenium webdriver keypress

我的问题如下。

我正在尝试自动化我工作的网站的部分测试套件,虽然大部分进展顺利,但开发人员添加了一个灯箱来确认下一步操作。

使用 firebug,我发现了一个 xpath,我可以用它来单击我需要继续的按钮,但遗憾的是它不起作用。

经过一些手动尝试后,我认为按“空格”键就可以继续。

问题是,通过 xpath 或链接文本使用“driver.findElement”的任何尝试都会失败,并在控制台中出现“No such element”错误。

所以我试图只发送 Space 的按键,而不使用 find 元素。

需要明确的是,我想模仿某人只按空格键而不事先单击或选择任何内容。

我尝试使用 driver.Keyboard...但无法识别“键盘”,因此我不知道如何在不使用 driver.findElement 的情况下发送此按键。

给我带来问题的代码是:

driver.findElement(By.xpath("//div[4]/div[3]/div/button")).click();
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激。

谢谢您,祝您有美好的一天!

pee*_*tya 5

如果您收到NoSuchElementException,但您知道该元素在那里,那么该元素似乎会稍后加载到 DOM 中(使用 ajax?),然后再加载页面。在这种情况下,您应该使用隐式显式等待来等待元素存在或元素可见等...

如果它仍然不起作用,并且您想尝试空格键,那么您可以在任何元素上执行它,例如在标签上<body>

WebElement body = driver.findElement(By.tagName("body"));
body.sendKeys(Keys.SPACE);
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你。