使用selenium python单击svg

使用selenium python单击svg,python,selenium,svg,xpath,webdriver,Python,Selenium,Svg,Xpath,Webdriver,svg图标是可点击的 <div class="some-class"> <svg aria-label="Search" class="some-icon" width="24" height="24" fill="#000" viewBox="0 0 24 24"> <path d="M9.5,...,5 9.5,5Z"> </path> </svg> </div> 错误:

svg图标是可点击的

<div class="some-class">
    <svg aria-label="Search" class="some-icon" width="24" height="24" fill="#000" viewBox="0 0 24 24">
        <path d="M9.5,...,5 9.5,5Z">
        </path>
    </svg>
</div>
错误:

没有这样的元素:无法定位元素:{“方法”:“xpath”,“选择器”:“/*[@id=“SearchForm”]/div[1]/span/div[1]/div[2]/svg/path”}

“svg”元素不是来自XHTML名称空间,而是属于svg名称空间。因此,在为svg标记构造xpath时,必须指定name()=“svg”。 例如: “/*[name()='svg']/*[name()='path']”

请参阅下面的讨论内容,以供参考

svg元素不是来自XHTML名称空间,而是属于svg名称空间。因此,在为svg标记构造xpath时,必须指定name()=“svg”。 例如: “/*[name()='svg']/*[name()='path']”

请参阅下面的讨论内容,以供参考

单击svg图标上的()
,可以使用以下解决方案:

driver.find_element_by_xpath('//div[@class="some-class"]/*[name()="svg"][@aria-label="Search"]').click()
您可以在以下内容中找到一些相关讨论:

单击svg图标上的()
,可以使用以下解决方案:

driver.find_element_by_xpath('//div[@class="some-class"]/*[name()="svg"][@aria-label="Search"]').click()
您可以在以下内容中找到一些相关讨论: