相关疑难解决方法(0)

webdriver的官方定位策略

官方W3c webdirver文档中,明确指出位置策略是:

State   Keyword
CSS selector    "css selector"
Link text selector  "link text"
Partial link text selector  "partial link text"
Tag name    "tag name"
XPath selector  "xpath"
Run Code Online (Sandbox Code Playgroud)

但是,Selenium的电线协议允许:

class name  
css selector
id  
name
link text
partial link text
tag name
xpath
Run Code Online (Sandbox Code Playgroud)

在理论中,Selenium的文档已经过时,"真实"的故事在新的规范文档中.然而...

我在最新的Chrome自己的Webdriver上运行了一些测试,我可以确认这一点,name并且class name两者都有效; 但是,它们不符合规格.

我记得在Chromium问题上阅读他们只会实现官方的Webdriver规范.

现在:我知道通用答案,其中"规格并不总是100%遵循"等.但是,我想知道的是:

  • 你能找到Chromium中实现这个的代码吗?(链接将是最受欢迎的)
  • 在Chromium邮件列表中是否有关于这些的讨论?
  • "非官方"命令("旧"硒规格文件中记录的)可能会留下来吗?你在哪里读到的?

javascript selenium google-chrome chromium chrome-web-driver

12
推荐指数
1
解决办法
5128
查看次数

为 svg 标签创建 XPATH

下面是 SVG 的 html,请帮我创建 XPATH

<svg data-reactid=".1q.0.3.1.0" version="1.1" class="svg-connector">
   <circle data-reactid=".1q.0.3.1.0.0" r="7" cy="11" cx="11" class="inner-circle"/>
</svg>
Run Code Online (Sandbox Code Playgroud)

selenium xpath svg selenium-webdriver

6
推荐指数
3
解决办法
7285
查看次数

如何通过Java使用XPath和Selenium WebDriver单击SVG元素

我有一个SVG带有几个矩形元素的对象。使用geckodriver,我试图单击主要SVG对象之一。但是,使用xpath-checker我无法检测到正确的xpath到相同值。

到现在为止,我可以深入了解以下内容xpath

id('avg_score_chart')/div/div[1]/*[local-name()='svg' and namespace-uri()='http://www.w3.org/2000/svg']
Run Code Online (Sandbox Code Playgroud)

我的HTML代码如下:

<div id="avg_score_chart" class="chart" style="height: 250px; color: black ! important; overflow: hidden; text-align: left;">
<div class="amcharts-main-div" style="position: relative;">
<div class="amcharts-chart-div" style="overflow: hidden; position: relative; text-align: left; width: 525px; height: 212px; padding: 0px;">
<svg version="1.1" style="position: absolute; width: 525px; height: 212px; top: 0.450012px; left: -0.5px;">
<desc>JavaScript chart by amCharts 3.17.1</desc>
<g>
<g>
<g>
<g>
<g>
<g>
<g transform="translate(60,52)">
<g transform="translate(96,41)">
<g transform="translate(96,123)">
<g transform="translate(96,123)"> …
Run Code Online (Sandbox Code Playgroud)

selenium xpath svg amcharts selenium-webdriver

5
推荐指数
1
解决办法
3462
查看次数

Selenium:硒如何识别可见或不可见的元素?是否有可能它已加载到 DOM 中但未渲染到 UI 上?

  1. Selenium:硒如何识别可见或不可见的元素?是否有可能它已加载到 DOM 中但未渲染到 UI 上?我想验证元素可点击的场景,我知道网络驱动器有方法“ElementToBeClickable”,但是,我想知道内部工作原理。请帮我解决这个问题。
  2. 另外,如何处理元素已加载到 DOM 中但 UI 显示正在加载的情况,如何等待完全加载?
  3. 请告诉我,如果UI未加载,那么selenium会直接调用DOM元素,或者如果UI元素正在加载,那么它将执行失败?我真的很感激对此的更多技术解释。

selenium dom selenium-webdriver webdriverwait expected-condition

4
推荐指数
1
解决办法
1万
查看次数

使用 selenium python 点击​​ svg

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>
Run Code Online (Sandbox Code Playgroud)

示例代码:

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()
Run Code Online (Sandbox Code Playgroud)

错误:

没有这样的元素:无法定位元素:{"method":"xpath","selector":"///*[@id="SearchForm"]/div[1]/span/div[1]/div[2 ]/svg/路径"}

python selenium xpath svg webdriver

1
推荐指数
1
解决办法
6245
查看次数