当前位置: 首页 > 面试题库 >

使用Selenium Python单击svg

孟俊发
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()

错误:

没有这样的元素:无法找到元素:{“ method”:“ xpath”,“ selector”:“ // * [@ id =” SearchForm“]
/ div [1] / span / div [1] / div [2 ] / svg / path“}


问题答案:

click()在svg图标上可以使用以下解决方案:

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


 类似资料:
  • 问题内容: 我想点击google结果上的第一个结果。这是我输入从csv文件读取的chennai craiglist的代码。因此,我肯定有机结果中的第一个链接将是chennai.craiglist.org。但是我很安静,不确定如何执行此操作。 我想知道这行之后会发生什么? 更新 现在我给像 我不确定它是否会起作用。 问题答案: 在你选择的是“OK”,但可能不是最好的。

  • 问题内容: 我添加到我的环境变量 我在这里下载的http://selenium- release.storage.googleapis.com/index.html?path=2.46/ Python脚本: 输出: 我期望jar定义了所有内容,为什么找不到驱动程序类? 问题答案: 根据您的问题,您似乎正在使用适用于Opera 12及更高版本的旧驱动程序。假设您尝试使用最新版本的Opera,则需要使

  • 问题内容: 第3、16、17、18和19行用*突出显示的含义是什么。有人可以解释他们的工作吗?我是python和编程新手 问题答案: 这段代码中只有三行用*突出显示,但这是它们的意思: 第一行: 这是在声明 后面 的函数( test_Iframe 和 tearDown )的 类* 。在面向对象的编程中,使用一个类来创建“对象” 。可以将 类 视为数据/过程的抽象,而 对象 是类的特定实例。 ***

  • 问题内容: 我想知道是否有最佳实践/正确的方法来为React组件设置右键菜单。 我目前有这个… 可以,但是感觉有点混乱,我想知道是否还有其他方法可以使用,任何信息将不胜感激, 谢谢! 问题答案: 更新: 想通了-这是您可以做的 在渲染中,您可以将函数传递给onContextMenu,以使该react组件发生右键单击。

  • 问题内容: 我想知道如何启用对伪元素的单击(我链接到下面的JSfiddle上div的橙色部分)。我读过,由于伪元素不在DOM中,因此您需要对此进行破解。不幸的是,我找不到实际显示有效代码的现有Stackoverflow问答。 HTML: CSS: 问题答案: 一种解决方法是将a动态添加到该项目并为其分配click方法。 CSS

  • 我正在尝试用selenium WebDriver单击一个按钮。但无法识别按钮。这是我的代码:它返回一条错误消息 NoSuchelementException:消息:u'没有这样的元素:找不到元素:{“method”:“XPath”,“Selector”:“//*[@id=”ArtifactContentList“]/div[2]/div/div[3]/content-dataset-actions