Robot Framework - 检查 xpath 定义的元素是否存在
Robot Framework - check if element defined by xpath exists
我想知道,我很想查找或编写条件来检查某个元素是否存在。如果确实如此,我想执行 IF 条件的主体。如果它不存在而不是执行 ELSE 的主体。
有这样的条件还是需要自己写?
通过使用 xpath 定位元素,我假设您正在使用 Sselenium2Library
。在该库中有一个名为的关键字:
Page Should Contain Element
需要一个参数,即 selector
,例如定义元素的 xpath。
如果页面不包含指定元素,则关键字失败。
对于条件,使用这个:
${Result}= Page Should Contain Element ${Xpath}
Run Keyword Unless '${RESULT}'=='PASS' Keyword args*
您还可以使用其他关键字:Xpath Should Match X Times
我更喜欢使用获取匹配的 XPath 计数,因为如果找不到元素,接受的答案会抛出错误
${count}= Get Matching XPath Count ${Xpath}
Run Keyword And Return If ${count} > 0 Keyword args*
我也有同样的疑问,但是上面的答案并不能满足我的要求
所以,我使用了rpaframework库
*** Settings ***
Library RPA.Browser.Selenium
*** Tasks ***
Verifying if a link is present or not
Open Available Browser https://www.amazon.com
${val} Does Page Contain Link //a[contains(@href,'some_text_present_in_your_link')]
IF ${val}== True
Log Link is present in the web page.
ELSE
Log Link is not present in the web page.
这个库中有很多关键字可以验证元素、按钮、复选框、图像、文本字段等其他内容。
这些关键字return True或False,所以我们可以根据变量值执行其他步骤。
注意:不要忘记安装rpaframework库。
pip install rpaframework
我想知道,我很想查找或编写条件来检查某个元素是否存在。如果确实如此,我想执行 IF 条件的主体。如果它不存在而不是执行 ELSE 的主体。
有这样的条件还是需要自己写?
通过使用 xpath 定位元素,我假设您正在使用 Sselenium2Library
。在该库中有一个名为的关键字:
Page Should Contain Element
需要一个参数,即 selector
,例如定义元素的 xpath。
如果页面不包含指定元素,则关键字失败。
对于条件,使用这个:
${Result}= Page Should Contain Element ${Xpath}
Run Keyword Unless '${RESULT}'=='PASS' Keyword args*
您还可以使用其他关键字:Xpath Should Match X Times
我更喜欢使用获取匹配的 XPath 计数,因为如果找不到元素,接受的答案会抛出错误
${count}= Get Matching XPath Count ${Xpath}
Run Keyword And Return If ${count} > 0 Keyword args*
我也有同样的疑问,但是上面的答案并不能满足我的要求
所以,我使用了rpaframework库
*** Settings ***
Library RPA.Browser.Selenium
*** Tasks ***
Verifying if a link is present or not
Open Available Browser https://www.amazon.com
${val} Does Page Contain Link //a[contains(@href,'some_text_present_in_your_link')]
IF ${val}== True
Log Link is present in the web page.
ELSE
Log Link is not present in the web page.
这个库中有很多关键字可以验证元素、按钮、复选框、图像、文本字段等其他内容。
这些关键字return True或False,所以我们可以根据变量值执行其他步骤。
注意:不要忘记安装rpaframework库。
pip install rpaframework