我无法根据前面的子元素(这是页面中的第二个div.trigger元素)编写第二个div.row元素的确切位置
<div id='subscription'></div>
<div class='settings'></div>
<div class='generic'></div>
<div class='trigger'></div>
<div class='row'></div>
<div class='trigger'></div>
<div class='row'></div>
这样做的原因是,在加载页面时,最初不会出现触发元素。但是当我点击一个复选框时,会出现一个触发器,依此类推,因为页面中至少有3个复选框。
对于这个问题的无聊感到抱歉,但我还没有找到解决方案,而且我无可救药地被困住了。任何帮助将不胜感激。谢谢!
答案 0 :(得分:1)
把所有的div带到班级&#39; row&#39;而不是第二次
//div[@class='row'][2]
答案 1 :(得分:0)
尝试xpath-expression
,如下所示:
By.xpath("//div[@class='settings']/child::div[position()=2][attribute::class='row']");
(或)
By.xpath("//div[@class='settings']/following-sibling::chapter[position()=1]");