如何在 Robot Framework 中根据元素的文本编写 xpath?
How to write xpath based on element's text in Robot Framework?
我正在使用机器人框架和 Selenium2Library
该按钮的文本为 "Save",它的 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?我的意思是 index=1.
尝试搜索包含所需文本范围的按钮
WebElement saveButton = driver.findElement(By.xpath(".//button/span[text()='Save']")
Click Button //button[.//text() = 'Save']
是 "Robot Framework" 找到带有文本 "Save" 的按钮并单击它的方法。
在@Tomalak 的帮助下修复
<3
使用以下 xpath
找到文本为 save
-
的按钮
//button[contains(.,'Save')]
使用下面的关键字,会先验证元素是否存在,然后点击locator定位的元素
Element should become visible xpath=//button/span[text()='Save']
Click Button xpath=//button/span[text()='Save']
还有一个内置关键字
Click Element xpath=//button/span[text()='Save']
尝试使用以下 xpath:
xpath=//span[contains(text(),'Save')]
试试这个 -
//span[text()='Save']/ancestor-or-self::button
我正在使用机器人框架和 Selenium2Library
该按钮的文本为 "Save",它的 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?我的意思是 index=1.
尝试搜索包含所需文本范围的按钮
WebElement saveButton = driver.findElement(By.xpath(".//button/span[text()='Save']")
Click Button //button[.//text() = 'Save']
是 "Robot Framework" 找到带有文本 "Save" 的按钮并单击它的方法。
在@Tomalak 的帮助下修复 <3
使用以下 xpath
找到文本为 save
-
//button[contains(.,'Save')]
使用下面的关键字,会先验证元素是否存在,然后点击locator定位的元素
Element should become visible xpath=//button/span[text()='Save']
Click Button xpath=//button/span[text()='Save']
还有一个内置关键字
Click Element xpath=//button/span[text()='Save']
尝试使用以下 xpath:
xpath=//span[contains(text(),'Save')]
试试这个 -
//span[text()='Save']/ancestor-or-self::button