如何解决如何针对硒中的父元素
<button class="wpO6b ZQScA" type="button">
<div class="QBdPU ">
<svg aria-label="New Message" class="_8-yf5 " fill="#262626" height="24" viewBox="0 0 44 44" width="24"><path d="M33.7 44.12H8.5a8.41 8.41 0 01-8.5-8.5v-25.2a8.41 8.41 0 018.5-8.5H23a1.5 1.5 0 010 3H8.5a5.45 5.45 0 00-5.5 5.5v25.2a5.45 5.45 0 005.5 5.5h25.2a5.45 5.45 0 005.5-5.5v-14.5a1.5 1.5 0 013 0v14.5a8.41 8.41 0 01-8.5 8.5z"></path><path d="M17.5 34.82h-6.7a1.5 1.5 0 01-1.5-1.5v-6.7a1.5 1.5 0 01.44-1.06L34.1 1.26a4.45 4.45 0 016.22 0l2.5 2.5a4.45 4.45 0 010 6.22l-24.3 24.4a1.5 1.5 0 01-1.02.44zm-5.2-3h4.58l23.86-24a1.45 1.45 0 000-2l-2.5-2.5a1.45 1.45 0 00-2 0l-24 23.86z"></path><path d="M38.2 14.02a1.51 1.51 0 01-1.1-.44l-6.56-6.56a1.5 1.5 0 012.12-2.12l6.6 6.6a1.49 1.49 0 010 2.12 1.51 1.51 0 01-1.06.4z">
</path>
</svg>
</div>
</button>
我可以使用硒将第一个父按钮标签定位到svg标签吗 我已经知道如何使用
定位svgself.driver.find_element_by_xpath("//svg[@aria-label='{}']".format('New Message'))
实际上我不确定结构,例如结构也可以
<button><div><div><svg></svg></div></div></button>
我想定位按钮标签,那么怎么可能?
解决方法
是的。
在您的svg
元素中引用HTML代码,父元素是div
标签,而button
显然被视为祖父母。
选择当前节点的所有祖先(父,祖父母等)
您可以使用祖先实现button
:
self.driver.find_element_by_xpath("//*[name()='svg' and @aria-label='{}']//ancestor::button[1]".format('New Message'))
[1]
中的button[1]
最接近,而不是第一个。
如果要单击该元素,请不要忘记调用.click()
。
要访问按钮元素,可以使用Xpath:
button = driver.find_element_by_xpath("//button[@class='wpO6b ZQScA']")
然后您应该可以单击它:
button.click()
,
要获取包含svg元素的父元素,请尝试在xpath下面。
driver.find_element_by_xpath("//button[.//*[name()='svg' and @aria-label='{}']]".format("New Message"))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。