Java 使用唯一的按钮标签单击按钮

Java 使用唯一的按钮标签单击按钮,java,selenium,selenium-webdriver,dojo,Java,Selenium,Selenium Webdriver,Dojo,我想点击一个有“声明”标签的按钮: 不幸的是,这不是唯一的。唯一独特的元素是描述“声明” 如何使用“声明”引用单击此按钮?您可以通过xpath检查元素的文本来定位元素: driver.findElement(By.xpath("//div[. = 'Declaration']")).click(); 使用Firefox Firebug检测xpath元素并执行: String xpath = "/html/body/div[6]/div[2]/div/ul/li/address[1]/a"; W

我想点击一个有“声明”标签的按钮:

不幸的是,这不是唯一的。唯一独特的元素是描述“声明”


如何使用“声明”引用单击此按钮?

您可以通过xpath检查元素的文本来定位元素:

driver.findElement(By.xpath("//div[. = 'Declaration']")).click();

使用Firefox Firebug检测xpath元素并执行:

String xpath = "/html/body/div[6]/div[2]/div/ul/li/address[1]/a";
WebElement we = driver.findElement(By.xpath(xpath));
Thread.sleep(500);
we.click();

您能试试上面的代码吗。

谢谢。我将对此进行测试。问题是,如果按钮移动到页面上的其他位置,测试将失败。正如我所说,唯一独特的参考是宣言文本
driver.findElement(By.xpath("//div[. = 'Declaration']")).click();
String xpath = "/html/body/div[6]/div[2]/div/ul/li/address[1]/a";
WebElement we = driver.findElement(By.xpath(xpath));
Thread.sleep(500);
we.click();
WebElement label = driver.findElement(By.className("LNTitleOuter")); 
String labeltxt = driver.findElement(By.className("LNTitleOuter")).getText();
if(labeltxt.equals("Declaration")){
    label.click();
}