1

我正在使用机器人框架和 Selenium2Library

该按钮有一个“保存”文本,它的 xpath 没有什么更独特的了,所以我试图根据元素的文本编写一个 xpath。如何使用那段 html 编写基于元素文本的 xpath:

<button class="slds-button slds-button--brand cuf-publisherShareButton NARROW uiButton" type="button" data-aura-rendered-by="1571:2954;a" data-aura-class="uiButton">
<span class=" label bBody truncate" dir="ltr" data-aura-rendered-by="1574:2954;a">Save</span>
</button>

(这是在文档的中间)。

编辑:似乎在下一个选项卡上几乎没有具有相同文本的元素(目前不可见)。我应该如何使用此文本编写第二个元素的 xpath?我的意思是索引= 1。

4

6 回答 6

3
Click Button    //button[.//text() = 'Save']

是“机器人框架”查找带有“保存”文本的按钮并单击它的方式。

在@Tomalak <3 的帮助下修复

于 2017-01-23T12:15:53.243 回答
1

尝试搜索包含所需文本的跨度的按钮

  WebElement saveButton = driver.findElement(By.xpath(".//button/span[text()='Save']")
于 2017-01-23T12:14:41.253 回答
0

尝试使用下面的 xpath:

 xpath=//span[contains(text(),'Save')]
于 2017-01-24T06:49:06.743 回答
0

使用以下xpath查找具有文本的按钮save-

 //button[contains(.,'Save')]
于 2017-01-23T12:18:14.103 回答
0

使用以下关键字,它将首先验证元素是否存在,然后单击定位器定位的元素

Element should become visible    xpath=//button/span[text()='Save']
Click Button     xpath=//button/span[text()='Save']

还有另一个内置关键字

Click Element    xpath=//button/span[text()='Save']
于 2017-01-23T15:49:06.713 回答
0

尝试这个 -

//span[text()='Save']/ancestor-or-self::button
于 2017-01-25T09:57:04.137 回答