我有一个链接,当页面调整大小时隐藏元素,所以我试图通过前一个元素获取该元素。
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">
<i class="icon icon-doc-new"></i>
<span class="hidden-sm dropdown-label">Create</span>
<span class="caret hidden-sm"></span>
</a>
获得&#34;正常&#34;元素我使用Xpath:
.//*[@id='main-menu']/li/a/span[contains(text(), 'Create')]
然后我想得到元素<i class="icon icon-doc-new"></i>
像这样的东西
.//*[@id='main-menu']/li/a/span[contains(text(), 'Create')]/precending-sibling::i[0] //(also tried different indexes]
尝试了其他几种方法,但也没有去过。
任何提示?
答案 0 :(得分:1)
所以,如果我正确并且不在兄弟姐妹之前,你实际上需要父元素。
尝试使用.//*[@id='main-menu']/li/a/span[contains(text(), 'Create')]/parent::a
如果您想要先前的兄弟姐妹,请尝试使用.//*[@id='main-menu']/li/a/span[contains(text(), 'Create')]/precending-sibling::i
答案 1 :(得分:1)
尝试使用以下XPath
:
.//*[@id='main-menu']/li/a[span[text()="Create"]]/i
答案 2 :(得分:1)
尝试以下任何一项xpath
//span[@class='caret hidden-sm']/..//preceding-sibling::span[text()= 'Create']
xpath的说明:使用class
标记的<span>
属性,并使用<span>
方法继续使用text
方法{ {1}}。
OR
preceding-sibling keyword
xpath的说明: - 使用//span[@class='caret hidden-sm']/..//preceding-sibling::span[@class='hidden-sm dropdown-label']
标记的class
属性,使用{<span>
标记以及<span>
属性继续前进{1}}。