Robotframework Robot框架-在WebTable中搜索文本
下面是cssselector和xpathRobotframework Robot框架-在WebTable中搜索文本,robotframework,Robotframework,下面是cssselector和xpath #ctl00_MasterContentPlaceHolder_radGridSystemRoles_ctl00__0 > td:nth-child(3) //*[@id="ctl00_MasterContentPlaceHolder_radGridSystemRoles_ctl00__0"]/td[3] 这是WebTable的一部分,我想在表中搜索文本 增量如下 #ctl00_MasterContentPlaceHolder
#ctl00_MasterContentPlaceHolder_radGridSystemRoles_ctl00__0 > td:nth-child(3)
//*[@id="ctl00_MasterContentPlaceHolder_radGridSystemRoles_ctl00__0"]/td[3]
这是WebTable的一部分,我想在表中搜索文本
增量如下
#ctl00_MasterContentPlaceHolder_radGridSystemRoles_ctl00__1 > td:nth-child(3)
//*[@id="ctl00_MasterContentPlaceHolder_radGridSystemRoles_ctl00__1"]/td[3]
#ctl00_MasterContentPlaceHolder_radGridSystemRoles_ctl00__2 > td:nth-child(3)
//*[@id="ctl00_MasterContentPlaceHolder_radGridSystemRoles_ctl00__2"]/td[3]
如何搜索表中的每一行以查找文本?XPath只是一个字符串,因此您可以自定义它以获得特定的行 例如:
*** Settings ***
Library SeleniumLibrary
Test Teardown Close Browser
*** Variables ***
${BROWSER} Chrome
${URL} https://www.rottentomatoes.com/top/bestofrt/
${TEXT TO SEARCH} The Irishman (2019)
${NUMBER OF COLUMN} ${3}
${NUMBER OF ROWS} ${15}
*** Test Cases ***
Test search in table
Open Browser url=${URL}
... browser=${BROWSER}
${found flag}= Set variable ${False}
FOR ${row number} IN RANGE 1 ${NUMBER OF ROWS}
${field locator}= Get field XPath ${row number}
Log ${field locator}
${field text}= Get text ${field locator}
Log ${field text}
${found flag}= Set variable if '${field text}'=='${TEXT TO SEARCH}'
... ${True}
... ${found flag}
END
Should be true ${found flag}
... msg=Movie '${TEXT TO SEARCH}' is not found in the table
Close Browser
*** Keywords ***
Get field XPath
[Arguments] ${row number}
${xpath}= Set variable //table[@class='table']//tbody/tr[${row_number}]/td[${NUMBER OF COLUMN}]
[Return] ${xpath}
在这里,我为表的特定字段使用了一个XPath模板://table[@class='table']//tbody/tr[${row\u number}]/td[${number of COLUMN}]
,其中${row\u number}
是我从for循环中获得的行号
似乎对您的案例很有用。谢谢您,这很有帮助