使用RSelenium寻找共同的父母

时间:2018-11-01 11:51:37

标签: r selenium xpath rselenium

我正在寻找RSelenium中的find common parent using Xpath的等效项。

说我有

<body>
    <table>
           <tr><td> sometext </td></tr>
           <tr><td> other </td></tr>
           <tr><td> digital </td></tr>
           <tr><td> digi </td></tr>
    </table>
</body>

我想成为(sometext,digital和digi)的父母。

我最好的尝试(努力):

xpath <- "(//body//*[contains(text(), 'text')][contains(text(), 'digi')])[last()]"
remDr$findElements("xpath", xpath)

预期输出为:

table

说明: 我想找到表格标签!我不想预先指定它作为输入。

2 个答案:

答案 0 :(得分:1)

您可以尝试XPath

//tr[td[normalize-space()="digi"]]/parent::*

如果要选择具有特定值的单元格的祖父母(请注意table不是td的直接父级)

如果您想让table被多个单元格匹配:

//*[tr[normalize-space(td)="digi"] and tr[normalize-space(td)="digital"]]

答案 1 :(得分:1)

要通过 RSelenium 使用 Xpath 查找共同父母,可以使用以下解决方案:

  • XPath1

    //table//tr/td[normalize-space()='sometext'][normalize-space()='digital'][normalize-space()='digi']/../..
    
  • XPath2(考虑您不知道标签<table> ):

    //td[normalize-space()='sometext' and normalize-space()='digital' and normalize-space()='digi']//preceding::table[1]