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

Selenium自定义Xpath

章翔宇
2023-03-14

我正在尝试使用驱动程序从页面获取所有元素。findElements(By.xpath…)。。。。

在一个页面中,我们随机生成Xpath,如下所示:

 //*[@id='ContentPlaceHolder1_dataListSessionTime_lblCinemasName_0']/span
 //*[@id='ContentPlaceHolder1_dataListSessionTime_lblCinemasName_1']/span
 //*[@id='ContentPlaceHolder1_dataListSessionTime_lblCinemasName_2']/span

等等...

我需要数一数页面上出现的此类元素的数量。

我正在尝试使用Xpath/代码,如下所示。

在xpath中使用*=;从字符开始表示。

String MovieCinemas=//*[@id*='ContentPlaceHolder1_dataListSessionTime_lblCinemasName_
List<WebElement> elements = driver.findElements(By.xpath(""));
System.out.println("Number of Elements Found: " + elements.size());

我无法产生元素的计数。此外,抛出无法查找元素的异常。

共有1个答案

裴畅
2023-03-14

您可以在XPath中使用start-with()函数来代替:

String xpath = "//*[starts-with(@id,'ContentPlaceHolder1_dataListSessionTime_lblCinemasName_')]/span";
List<WebElement> elements = driver.findElements(By.xpath(xpath));
System.out.println("Number of Elements Found: " + elements.size());
 类似资料:
  • 是否可以使用用户扩展在Selenium IDE中创建自定义命令.js并使其能够将自身更改为自定义导出格式,如果是这样,如何? 我将使用SeleniumIDE记录测试,这些测试将以完全自定义的Java格式导出,作为全自动测试系统的一部分运行。格式不是JUnit,而是每个测试都是它自己的类,并根据整个系统的输入动态加载。 我想要做的是在Selenium IDE中创建一个名为“take snapshot

  • 问题内容: 我想将“自定义标头”添加到python中的Selenium PhantomJS中。这些是我要添加的标题。 这是我正在使用的代码: 如何修改包含这些自定义标头的代码? 请帮忙。 问题答案: 以以下方式设置标题: 然后开始使用驱动程序:

  • 问题内容: 我正在尝试为Selenium编写自己的ExpectedConditions,但我不知道如何添加新的selenium。有人有例子吗?我在网上找不到任何教程。 在我目前的情况下,我想等到某个元素存在,可见,启用并且没有attr“ aria-disabled”属性。我知道这段代码行不通: 编辑:一些额外的信息:我遇到的问题是与jQuery选项卡。我在一个禁用的选项卡上有一个表单,它将在该选项

  • 问题内容: 根据这个,现在可以修改标题。Atm我需要在PhantomJS webdriver中修改Accept-Language。此代码不起作用 是否可以通过某种方式将Phantomjs配置为发送我的标头?我不在乎:在ghostdriver,phantomjs或phantomjs- webdriver中。 问题答案: PhantomJS 的最新版本(1.9.1)是2013年5月5日发布。拉取请求已

  • 感谢SpanInjector和SpanExtractor,您可以自定义spans的创建和传播方式。 目前有两种在进程之间传递跟踪信息的内置方式: 通过Spring Integration 通过HTTP Span ids从Zipkin兼容(B3)头(Message或HTTP头)中提取,以启动或加入现有跟踪。跟踪信息被注入到任何出站请求中,所以下一跳可以提取它们。 与以前版本的Sleuth相比,重要的

  • whistle提供了插件的方式扩展协议,具体参考:插件开发