Selenium 和 Xpath - 访问彼此相邻的元素
Selenium and Xpath - accessing elements adjacent to each other
在下面的示例中,我尝试单击 Follow Me,其中相邻的(ish)<div>
等于 David。这是页面上许多具有相同结构的 <div class='_1m'
之一。(这有意义吗?)
抱歉,第一次发帖有问题,忘记了一个主要细节。我知道我正在寻找 David,但我不知道 'Follow Me' 的值是多少。它在每条记录上都会发生变化。
<div class="_1m">
<div class="_8h"><img src="/2323.GIF" /></div>
<div class="_1j">
<div class="_1c">David<span class="_13">abc</span></div>
<div>
<span class="_1v">ABCD</span>
<span class="_1v">1234</span>
</div>
<div>7890</div>
</div>
<div class="_3h">
<div class="_n0">
<span class="_bn"><span class="_la">Follow Me</span></span>
</div>
</div>
</div>
在 xpath 下面使用 //div[@class='_1c'][contains(.,'David')]/../following-sibling::div//span[@class='_la'][contains(.,'Follow Me')]
解释:
//div[@class='_1c'][contains(.,'David')]
找到 David
/..
移动到 David 的一个父节点,因为 follow me 元素是该父节点的兄弟节点 div
/following-sibling::div
紧跟兄弟 div
//span[@class='_la'][contains(.,'Follow Me')]
找到有 Follow me 文本的 span
要单击 Follow Me,其中相邻的 <div>
包含文本 David,您可以使用以下 :
使用 xpath 和 以下:
//div[contains(., 'David')]//following::span[3]/span
使用 xpath,跟随 和 text 跟我来:
//div[contains(., 'David')]//following::span[3]/span[text()='Follow Me']
在下面的示例中,我尝试单击 Follow Me,其中相邻的(ish)<div>
等于 David。这是页面上许多具有相同结构的 <div class='_1m'
之一。(这有意义吗?)
抱歉,第一次发帖有问题,忘记了一个主要细节。我知道我正在寻找 David,但我不知道 'Follow Me' 的值是多少。它在每条记录上都会发生变化。
<div class="_1m">
<div class="_8h"><img src="/2323.GIF" /></div>
<div class="_1j">
<div class="_1c">David<span class="_13">abc</span></div>
<div>
<span class="_1v">ABCD</span>
<span class="_1v">1234</span>
</div>
<div>7890</div>
</div>
<div class="_3h">
<div class="_n0">
<span class="_bn"><span class="_la">Follow Me</span></span>
</div>
</div>
</div>
在 xpath 下面使用 //div[@class='_1c'][contains(.,'David')]/../following-sibling::div//span[@class='_la'][contains(.,'Follow Me')]
解释:
//div[@class='_1c'][contains(.,'David')]
找到 David/..
移动到 David 的一个父节点,因为 follow me 元素是该父节点的兄弟节点 div/following-sibling::div
紧跟兄弟 div//span[@class='_la'][contains(.,'Follow Me')]
找到有 Follow me 文本的 span
要单击 Follow Me,其中相邻的 <div>
包含文本 David,您可以使用以下
使用 xpath 和 以下:
//div[contains(., 'David')]//following::span[3]/span
使用 xpath,跟随 和 text 跟我来:
//div[contains(., 'David')]//following::span[3]/span[text()='Follow Me']