Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
xpath选择列中有多个特定值的tr_Xpath - Fatal编程技术网

xpath选择列中有多个特定值的tr

xpath选择列中有多个特定值的tr,xpath,Xpath,我有一个包含多行的表,我正在尝试使用xpath查找每列中包含特定值的一行。例如,我希望第1列中有“foo”,第2列中有“bar”,第3列中有“baz” 我可以使用什么xpath来获取在这些特定列中包含这三个特定值的行 例如,给定下表,我希望能够只返回一行,在其预期列中包含三个预期值 <table> <tr><td>foo</td><td>bar</td><td>xxx</td></tr>

我有一个包含多行的表,我正在尝试使用xpath查找每列中包含特定值的一行。例如,我希望第1列中有“foo”,第2列中有“bar”,第3列中有“baz”

我可以使用什么xpath来获取在这些特定列中包含这三个特定值的行

例如,给定下表,我希望能够只返回一行,在其预期列中包含三个预期值

<table>
  <tr><td>foo</td><td>bar</td><td>xxx</td></tr>
  <tr><td>xxx</td><td>bar</td><td>baz</td></tr>
  <tr><td>foo</td><td>bar</td><td>baz</td></tr>
  <tr><td>bar</td><td>baz</td><td>foo</td></tr>
  <tr><td>foo</td><td>xxx</td><td>baz</td></tr>
</table>

foobarxxx
xxxbarbaz
富巴巴兹
巴巴兹福
FooxXbaz

您可以在搜索时使用
directorypath\[name=“value”]\…
,这会起到作用(假设
元素是当前上下文节点):


td[1]
选择第一个
td
子项,
td[2]
第二个子项,等等。然后将条件与
相结合,这也起到了一定的作用……我相信,通过不使用xpath,可以更快地获得所需内容


//tr[td[1][text()='foo']和td[2][text()='bar']和td[3][text()='baz']]

我知道这一点,但我如何组合多个条件呢?我需要“tr,第一列的文本为‘foo’,第二列的文本为‘bar’…”,所以你能在tr中搜索“foobarbaz”吗?我想找到任何在第一列有“foo”,在第二列有“bar”,在第三列有“baz”的。哦,我知道你可以使用tr[(td[1]=“name”)]可能有更快的方法,但a)我不得不在IE上使用selenium,b)我的元素都没有可区分的id、名称或类属性。这是一个挑战:-\
    tr[(td[1] = 'foo') and (td[2] = 'bar') and (td[3] = 'baz')]