0

我有“保存”按钮的以下 HTML 代码:

<input type="submit" onclick="return confirm('Sure to change global settings?')" value="Save" name="submit">

我想检索按钮的标题。我使用以下代码来做到这一点:

String actualButtonCaption = driver.findElement(By.xpath("//input[@value='Save']")).getText();

我还使用了绝对 xpath,如下所示:

String actualButtonCaption = driver.findElement(By.xpath("//html/body/form/div[3]/div[2]/input")).getText();

但不幸的是,没有检索到任何文本。找到空白/空文本。有谁能够帮助我?

4

4 回答 4

10

getAttribute方法可用于检索属性值。

在这种情况下,以下将返回标题:

driver.findElement(By.XPath("//input[@name='submit']")).getAttribute("value");

于 2012-10-22T08:01:22.473 回答
1

尝试将 anID与输入相关联,然后按 ID 查找元素。如果出现文本,则说明xpath有问题,您可以使用Firefox的插件分析确切的运行时间xpath。

于 2012-10-22T07:00:43.523 回答
1

这应该工作 -

String actualButtonCaption = driver.findElement(By.name("Submit")).getAttribute("value");
于 2012-10-22T08:45:12.540 回答
0

我已经通过使用 JavaScript 得到了解决方案。代码如下:

WebDriver driver = new FirefoxDriver();
JavascriptExecutor jse = (JavascriptExecutor) driver;
String ss = (String)jse.executeScript("var x=document.getElementsByName('submit')[0].value; return x");
System.out.println("Caption of Save button: " + ss);

它工作正常。按钮的标题打印为“保存”

于 2012-10-22T07:41:27.110 回答