如何使用java硒铬驱动程序单击图像/按钮



我想点击一个按钮,到目前为止,我正在使用 XPATH,但有时页面发生了变化,我必须更新 XPATH。

我正在检查不同的方式(搜索并单击图像,如播放.png,按文本单击等(,以获得相同的结果。

在 HTML 代码部分之后:

<button class="btn btn-green false">PLAY</button>

编辑:

我已经尝试过代码

driver.findElement(By.xpath("//*[contains(text(),’PLAY’]")).click();

但它例外

Exception in thread "main" org.openqa.selenium.TimeoutException: Expected condition failed: waiting for element to be clickable: By.xpath: //*[contains(text(),’PLAY’] (tried for 10 second(s) with 500 milliseconds interval)
at org.openqa.selenium.support.ui.WebDriverWait.timeoutException(WebDriverWait.java:95)
at org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:272)
at seleniumTest.TestSelenium.play(TestSelenium.java:300)
at seleniumTest.TestSelenium.open_url(TestSelenium.java:277)
at seleniumTest.TestSelenium.seleniumTest(TestSelenium.java:108)
at seleniumTest.TestSelenium.main(TestSelenium.java:85)
Caused by: org.openqa.selenium.InvalidSelectorException: invalid selector: Unable to locate an element with the xpath expression //*[contains(text(),’PLAY’] because of the following error:
SyntaxError: Failed to execute 'evaluate' on 'Document': The string '//*[contains(text(),’PLAY’]' is not a valid XPath expression.

当属性的值是动态的时,您也可以使用 包含或 starts-with((,即像这样变化:

//*[contains(text(),’PLAY’)]

你必须找到一些不会改变的东西。

例如,您可以使用通配符在 XPath 中执行此操作:

//button[text()='PLAY']

你也可以使用其他方法来识别硒中的元素。

例如By.id(...)元素是否具有唯一 ID。

见硒文档的类 由

相关内容

  • 没有找到相关文章

最新更新