单击具有更改类别的 svg 标签

问题描述 投票:0回答:2

下面的标签具有不断变化的类值,因此不能用于引用该标签。如何找到此标签并执行点击操作

<div class="x6s0dn4 x78zum5 x1q0g3np xs83m0k"><svg aria-label="Options" class="x1lliihq x1n2onr6 x5n08af" fill="currentColor" height="32" role="img" viewBox="0 0 24 24" width="32"><title>Options</title><circle cx="12" cy="12" r="1.5"></circle><circle cx="6" cy="12" r="1.5"></circle><circle cx="18" cy="12" r="1.5"></circle></svg></div>

下面的代码一度有效,但类值发生了变化。

driver.find_element_by_xpath('//div[@class="x6s0dn4 x78zum5 xdt5ytf xl56j7k"]/*[name()="svg"][@aria-label="Options"]').click()

我该如何编写它,使其不依赖于类值并且仍然执行单击操作?

python selenium-webdriver
2个回答
1
投票

我认为宽度和高度可能不太可能改变。所以你可以使用这个:

driver.find_element_by_xpath('//svg[@aria-label="Options" and @width="32" and @height="32"]').click()

0
投票

如果它是该页面上唯一带有

svg
aria-label="Options"
,您可以尝试以下 XPath:

"//svg[@aria-label='Options']"

driver.find_element("xpath", "//svg[@aria-label='Options']").click()
© www.soinside.com 2019 - 2024. All rights reserved.