无法使用selenium(java)单击此按钮

无法使用selenium(java)单击此按钮,java,selenium-webdriver,Java,Selenium Webdriver,我对click()有问题函数 下面是outputHtml: <button type="button" class="k-button k-primary" tabindex="0" style="width: 50%;">Valider< /button> 但仍然出现无法定位元素的错误 这是我需要点击的弹出按钮的屏幕截图(Button Valider) 您是否尝试过复制和粘贴选择器 如

我对
click()有问题函数

下面是outputHtml:

 <button type="button" class="k-button k-primary" tabindex="0" style="width: 50%;">Valider< /button> 
但仍然出现无法定位元素的错误

这是我需要点击的弹出按钮的屏幕截图(Button Valider)


您是否尝试过复制和粘贴选择器

如果您在Windows计算机上:

在Google Chrome中,如果按F12打开开发者窗口

在DOM中找到要查找的节点,然后右键单击它

然后转到“复制”和“复制XPath”,或者可以“复制JS路径”

然后,您可以将路径粘贴到代码中,并以这种方式进行尝试

在使用selenium开发时,我更喜欢使用JS路径选择dom节点

如果您在开发过程中遇到类似的问题,那么“Copy Full XPath”选项非常有用,因为它从根节点复制完整路径


此功能在所有主要浏览器中都可用,但我最熟悉的是使用Google Chrome进行开发。

您确定在搜索该元素时已加载该元素吗?请先尝试一个断点,并验证它是否可用。

为了处理警报/弹出窗口,您需要切换到该断点

//switch to alert
Alert alert = driver.switchTo().alert();
//accept it
alert.accept();
// or accept it by your code
driver.findElement(By.XPATH("//button[@class = 'k-button k-primary' and @type = 'button']").click();
//dismiss alert
alert.dismiss();
//or dismiss with you code
driver.findElement(YOUR_LOCATOR).click();
//get text
String alertText = alert.getText()

请检查弹出窗口是否在某个框架内。如果是,那么你必须像这样切换到帧
driver.switch to.frame(iframe locator)

谢谢,但这不是一个真正的警报,这是我的问题,我无法用我的代码接受它,我使用了与您提供的代码相同的代码,并且出现错误无法定位元素。请与页面源共享屏幕截图好吗?
//switch to alert
Alert alert = driver.switchTo().alert();
//accept it
alert.accept();
// or accept it by your code
driver.findElement(By.XPATH("//button[@class = 'k-button k-primary' and @type = 'button']").click();
//dismiss alert
alert.dismiss();
//or dismiss with you code
driver.findElement(YOUR_LOCATOR).click();
//get text
String alertText = alert.getText()