无法单击脚本自动聚焦的按钮

时间:2017-11-29 23:56:54

标签: java html selenium selenium-webdriver functional-programming

我正在尝试点击一个由html中的脚本自动聚焦的按钮。 我已经尝试了绝对路径,相对路径但没有运气。几乎我能想到的任何东西。附件是一个屏幕截图,它将显示xpath在网络上成功定位元素但是当我在selenium中使用它时,它无法找到该元素。 我也尝试使用泛型函数明确等待元素10秒。 (查看屏幕截图)此功能适用于之前调用的所有其他按钮,除此之外。

我眼中的一点是,有一种方法可以自动对焦按钮。在这种情况下,我可能必须将焦点转到整个窗口或页面。我也试过发送回车键,但仍然没有运气。

问题1:有没有人有任何解决方案? 问题2:有谁知道如何将焦点切换到页面? Question_3:或其他任何东西。

任何建议都受到高度赞赏。

enter image description here enter image description here

4 个答案:

答案 0 :(得分:0)

要将焦点切换到父窗口/默认内容窗口,您应该在驱动程序实例上使用switchTo()方法。

driver.switchTo().parentFrame();

OR

driver.switchTo().defaultContent();

您可以使用以下两个语句来了解当前关注的元素。

 driver.switchTo().activeElement();
 driver.getPageSource();

答案 1 :(得分:0)

使用Java Script单击而不是单击。像这样,希望这会有所帮助。

WebElement element = driver.findElement(By.id("SubmitButtonId"));
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].click();", element);

答案 2 :(得分:0)

如果您尝试单击输入标记,则脚本将失败。试着找到正确的定位器。它会帮助或尝试使用submit()函数,如你所说,这个元素是自动选择的。

答案 3 :(得分:0)

我认为你需要在点击之前将元素输入到视图中:

代码是: ((JavascriptExecutor)驱动程序).executeScript(“arguments [0] .scrollIntoView(true)”,webElement);