当前位置: 首页 > 知识库问答 >
问题:

点击svg使用硒python

丌官晔
2023-03-14

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>

示例代码:

from selenium import webdriver

driver = webdriver.Chrome(CHROME_DRIVER_LOCATION)
driver.find_element_by_xpath('//*[@id="SearchForm"]/div[1]/span/div[1]/div[2]/svg/path').click()

错误:

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

共有3个答案

墨寂弦
2023-03-14

对于我的情况下,以下工作:

driver.find_element_by_xpath('//div[@class="some-class"]/*[name()="svg"][@aria-label="Search"]').click()
常英资
2023-03-14

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

以下讨论如何通过Java使用XPath和Selenium WebDriver单击SVG元素,供您参考

楚翰
2023-03-14

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

driver.find_element_by_xpath('//div[@class="some-class"]/*[name()="svg"][@aria-label="Search"]').click()

你可以在以下网站上找到一些相关的讨论:

  • 如何通过Java使用XPath和Selenium WebDriver点击SVG元素
  • 无法通过剑道UI图表上的xpath定位SVG元素
 类似资料:
  • 用我在selenium的初学者知识,我试图找到点击元素,打开链接。这些项目的链接没有href。我如何执行点击正确的元素打开链接。 我正在使用python、selenium、chrome web驱动程序、BeautifulSoup。所有库都已更新。 下面是示例html片段,其中有一个我需要使用selenium点击的标题。请让我知道,如果你需要更多的html源。此代码来自仅限“登录”的网站。

  • 我是cucumber测试的新手。我想要一个帮助,其中网页包含一个我想点击的按钮。我尝试了我可能的方法: (1)driver.findElement(By.xpath("//按钮[包含(文本(),'添加新')]")).点击(); (2)driver.findElement(By.linkText("添加新")). Click(); (3)driver.findElement(By.xpath("//

  • 我正在尝试自动“Tableau”登录屏幕和下载报告流程。在我到达“下载”按钮之前一切正常。第一个问题是我无法右键单击下载按钮并在Chrome进行“检查”,这很奇怪。我不知何故能够通过浏览整个页面来找到xpath。当我尝试单击它时,我得到“由:org.openqa.selenium.NoSuchElementException引起:没有这样的元素:无法定位元素:{"方法":"xpath","sele

  • 我尝试使用xpath和classname来定位并单击按钮。然而,什么都不管用。 driver.find_element(By.XPATH,“//button[@class='sc-cqCuEk ffSPoi MuiButtonBase root sc dliRfk hLpdQI MuiAccordionSummary root Mui展开的MuiAccountionSummarygutters s

  • 我就是不能点击按钮进入下一页。目前为止我尝试了以下方法 编辑 关键是重新定位元素,重新加载。由于我在表单中单击,底层代码发生了变化。司机。通过xpath(//button[@type='submit'][@name='button'])查找元素。因此,click()无法找到元素。重新加载驱动程序后。get(“%s/%s:%s”%(str(sys.argv[4])、str(sys.argv[2])、

  • 问题内容: svg图标是可单击的。 样例代码: 错误: 没有这样的元素:无法找到元素:{“ method”:“ xpath”,“ selector”:“ // * [@ id =” SearchForm“] / div [1] / span / div [1] / div [2 ] / svg / path“} 问题答案: 要在svg图标上可以使用以下解决方案: