如何获取 Span Table 第 n 列匹配文本的元素数
How to get the element count matching text in nth column of Span Table
Col1 Col2 Col3 Col4 Col5
2 XYZ Andy Div2 Address2
3 NNN Spencer Div1 Address3
4 YYY Krish Div8 Address4
5 ABC Sima Div1 Address5
我有一个跨度 table,就像上面示例中的那个,我正在尝试获取与第 4 列中的文本 Div1
匹配的单元格计数(Col4
).我尝试了下面的代码并得到了一个错误(无效的 xpath 定位器):
${RecordCount}= Get Matching Xpath Count //td[4][matches(text(),'Div1')]
来自 SeleniumLibrary document 它说 Get Matching Xpath Count 关键字在 SeleniumLibrary 3.2 中已弃用。请改用获取元素计数。所以你应该尝试使用 "Get Element Count" 关键字来代替。你提到的错误意味着你输入的xpath是错误的。可能试试这个 xpath=//td[text()="Div1"]
问题是因为 matches()
函数 - 它存在于 XPath 2.0 中,而所有浏览器仅支持 v1.0;因此错误定位器无效。
只需将其更改为 contains()
即可:
//td[4][contains(text(),'Div1')]
Col1 Col2 Col3 Col4 Col5
2 XYZ Andy Div2 Address2
3 NNN Spencer Div1 Address3
4 YYY Krish Div8 Address4
5 ABC Sima Div1 Address5
我有一个跨度 table,就像上面示例中的那个,我正在尝试获取与第 4 列中的文本 Div1
匹配的单元格计数(Col4
).我尝试了下面的代码并得到了一个错误(无效的 xpath 定位器):
${RecordCount}= Get Matching Xpath Count //td[4][matches(text(),'Div1')]
来自 SeleniumLibrary document 它说 Get Matching Xpath Count 关键字在 SeleniumLibrary 3.2 中已弃用。请改用获取元素计数。所以你应该尝试使用 "Get Element Count" 关键字来代替。你提到的错误意味着你输入的xpath是错误的。可能试试这个 xpath=//td[text()="Div1"]
问题是因为 matches()
函数 - 它存在于 XPath 2.0 中,而所有浏览器仅支持 v1.0;因此错误定位器无效。
只需将其更改为 contains()
即可:
//td[4][contains(text(),'Div1')]