<div class="value test" />
我想识别该网络元素。它仅定义了这两个类。我不能执行以下操作,因为className
不使用空格分隔的值。什么是替代品?
@FindBy(className = "value test")
@CacheLookup
private WebElement test;
我认为巴拉克·马诺斯的答案不能完全解释这一点。
想象一下,我们只有以下几个元素:
<div class="value test"></div>
<div class="value test "></div>
<div class="first value test last"></div>
<div class="test value"></div>
XPath如何匹配
只匹配1个(完全匹配),巴拉克的答案
driver.findElement(By.xpath("//div[@class='value test']"));
比赛1,比赛2和比赛3(比赛类别包含value test
,课程顺序很重要)
driver.findElement(By.xpath("//div[contains(@class, 'value test')]"));
匹配1、2、3和4(只要元素具有class value
和test
)
driver.findElement(By.xpath("//div[contains(@class, 'value') and contains(@class, 'test')]"));
同样,在这种情况下,Css Selector始终支持XPath(快速,简洁,本机)。
比赛1
driver.findElement(By.cssSelector("div[class='value test']"));
比赛1、2和3
driver.findElement(By.cssSelector("div[class*='value test']"));
匹配1、2、3和4
driver.findElement(By.cssSelector("div.value.test"));
我一直在尝试在网页上查找一个元素,该元素与其他元素同名,没有id。它确实有不同的值,因此我希望通过名称和值查找该元素。 在我的网页我有一个搜索按钮: 我不能使用name,因为我有另一个具有相同名称和类型的元素: 因此,我尝试使用xpath,我开始使用xpath检查器返回返回的xpath: 这又是一个非常新的,但我假设“x:”不应该在路径中,所以我删除了这个,并试图找到以下元素: 这导致: 所以我真
问题内容: 我使用上面的python代码来练习一些基本的Selenium操作。我找不到任何元素,无论是名称还是ID。不管我尝试什么,我总是会遇到相同的错误,这表明我要查找的元素不存在。(想法是按一下其中一个按钮…) 这是网站html代码的一部分: 这是所说的网站(链接断开) 任何帮助将不胜感激。 顺便说一句,这是我尝试运行的第一个使用Selenium的程序,是否有可能需要更改某些设置或需要安装其他
我还尝试使用CSSSelector: 但WebDriver不断抛出一个异常,说明它无法找到该元素。有什么建议可以是什么问题吗?
我正在编写一个Python程序,该程序使用Selenium导航到高级搜索页面上的搜索框中并在搜索框中输入信息。本网站使用 Javascript,每次加载网站时,每个搜索框的 ID 和名称都会略有变化,但类名保持不变。类名经常被重用,所以我的目标是使用然后通过该列表编制索引。 例如,一个框的类名是 ,但我不能使用它,因为 selenium 认为它是一个复合类名并抛出一个错误。如果我只使用它的一部分,
问题内容: 以下定位技术之间有什么区别? 而且,从 性能角度来看 ,哪种方法是通过id定位元素的最快方法? 问题答案: 您的问题很难回答,肯定会给出一个结论性的答案。实际上,我很想将此问题标记为“太宽泛”,其他答案和评论也支持该问题。 以您的为例。纵观Selenium来源, 大多数 驱动程序只是获取您提供的ID,然后将其传递给有线协议: 如您所知,每个浏览器供应商都在单独的二进制文件中实现自己的有
请帮助我,我正在尝试选择一个图片,这是一个链接(一个网站上的培训师) 这是我的代码: