gpt4 book ai didi

php - Selenium, xpath 匹配包含多个元素的表行

转载 作者:行者123 更新时间:2023-12-03 16:01:10 26 4
gpt4 key购买 nike

我试图找到一个 Selenium/PHP XPath 来匹配包含多个元素(文本和表单元素)的表格行。

例子:

<table class="foo">
<tr>
<td>Car</td><td>123</td><td><input type="submit" name="s1" value="go"></td>
</tr>
</table>

这适用于单个文本元素:

$this->isElementPresent( "//table/tbody/tr/td[contains(text(), 'Car')]" );

虽然这不是(省略/td 定位器):

$this->isElementPresent( "//table/tbody/tr[contains(text(), 'Car')]" );

因此,这显然不适用于多个元素:

$this->isElementPresent( "//table/tbody/tr[contains(text(), 'Car')][contains(text(), '123')]" );

另一种方法是使用 getTable( "xpath=//table[@class='foo'].x.y")对于每一行 x,y 列。麻烦,但它的工作......主要是。它不返回 <input>标签!它将为该单元格返回一个空字符串:(

有什么想法吗?

最佳答案

这个 XPath 表达式:

/html/body/table[descendant::td[contains(.,'Car')]]

注意:如果您知道自己的架构,请不要使用起始 // 运算符。使用字符串值而不是文本节点(这样您可以获得所有后代文本节点的串联)。

关于php - Selenium, xpath 匹配包含多个元素的表行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4037255/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com