Selenium Webdriver(Java),需要发送;“空间”;按键将网站作为一个整体

Selenium Webdriver(Java),需要发送;“空间”;按键将网站作为一个整体,java,selenium,webdriver,keypress,Java,Selenium,Webdriver,Keypress,我的问题如下 我正在尝试为我工作的网站自动化测试套件的一部分,虽然大部分都进行得很顺利,但开发人员已经添加了一个lightbox来确认下一个操作 使用firebug,我找到了一个xpath,可以用来单击需要继续操作的按钮,但遗憾的是它不起作用 在一些手动尝试之后,我想按下“空格”键,我就可以继续了 问题是,任何使用“driver.findElement”的尝试都会失败,无论是通过xpath还是链接文本,控制台中都会出现“No-this-element”错误 所以我尝试只发送空格键,而不使用fin

我的问题如下

我正在尝试为我工作的网站自动化测试套件的一部分,虽然大部分都进行得很顺利,但开发人员已经添加了一个lightbox来确认下一个操作

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

在一些手动尝试之后,我想按下“空格”键,我就可以继续了

问题是,任何使用“driver.findElement”的尝试都会失败,无论是通过xpath还是链接文本,控制台中都会出现“No-this-element”错误

所以我尝试只发送空格键,而不使用find元素

说得清楚一点,我想模仿某人只按空格键,事先不点击或选择任何东西

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

给我带来问题的代码是:

driver.findElement(By.xpath("//div[4]/div[3]/div/button")).click();
任何帮助都将不胜感激


谢谢你,祝你度过愉快的一天

如果您收到
NoSuchElementException
,但您知道元素在那里,那么似乎元素加载到DOM中的时间比页面加载的时间晚(使用ajax?)。 在这种情况下,您应该使用或等待元素出现,或元素可见,等等

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

WebElement body = driver.findElement(By.tagName("body"));
body.sendKeys(Keys.SPACE);

希望能有所帮助。

如果您收到
NoSuchElementException
,但您知道元素在那里,那么元素加载到DOM的时间似乎比页面加载的时间晚(使用ajax?)。 在这种情况下,您应该使用或等待元素出现,或元素可见,等等

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

WebElement body = driver.findElement(By.tagName("body"));
body.sendKeys(Keys.SPACE);
希望有帮助。

试试这个:

 Actions action = new Actions(Driver);
 action.SendKeys(Keys.Space).Build().Perform();
试试这个:

 Actions action = new Actions(Driver);
 action.SendKeys(Keys.Space).Build().Perform();