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

我的XPath不适用于所有场景

甄志
2023-03-14

我需要对表的总数进行断言,当我在映像表中为总数编写XPath时,这样做对所有场景都不起作用。我知道原因,因为表是动态的,所以有时它只有1个图像,有时它有5个图像,所以我很难编写适用于所有场景的x路径。

对于我所写的附加图像:在这里输入图像描述WebElement totalElement=driver。findElement(By.xpath(“/*[@id=“image_table”]/tbody/tr[5]/td[4]”);它运行正常,但当表大小发生变化时。它失败了。

供参考的网页设计如下,

***<table class="table table-bordered table-striped table-hover display" id="image_table">
  <tr>
      <td colspan="2" class="text-right">Total</td>
      <td class="text-center">1,650</td>
      <td class="text-center">19,936</td>
      <td class="text-center">21,586</td> (trying to write xpath for this total)
  </tr>***

共有2个答案

红明德
2023-03-14
//td[contains(string(),"Total")]/following-sibling::td[last()]

找到包含文本总数的td,并找到以下最后一个td

狄睿
2023-03-14

试试css:

#image_table>tr>td:last-of-type

它总是定义最后一个元素。

根据评论进行更新。此css选择器更健壮:

#image_table tr:last-of-type>td:last-of-type
 类似资料:
  • 我试图捕获并存储svg元素中出现的一些文本,例如 我有一个我正在使用的方法,它适用于其他元素,但Selenium WebElement类方法getText不会为上述svg元素返回任何文本。 下面是上述示例的xpath 我可以使用findElement(By.xpath(myXpath)),但是当我调用. getText()时,它不会返回任何值,也不会抛出任何错误。 我有没有做错什么,或者可能有其他

  • 问题内容: 我应该为XPath使用什么软件包?我想查询元素,然后在这些节点周围提取一些值。也许一个或多个级别更高,有些属性。 是XPath 1.0。是和走正道,还是有更现代的实现?非常尴尬,JDOM似乎容易得多。 问题答案: 您可能会考虑基于Java的XPath 2.0或XQuery实现(XSLT 2.0选项提供了更强大的功能),例如 Saxon9.x 。 Saxon是开源的,并且是迄今为止基于J

  • 我试图在独立应用程序中使用AspectJ,但似乎不起作用。 以下是我创建的类- 同样在src/META\u-INF文件夹下,我创建了aop。xml文件 然后在我尝试运行测试时从命令行执行。java使用下面的命令实现系统。出来通知中的println无法打印- 有人能告诉我我做错了什么吗? 谢谢AA

  • 我有一个C程序,通过响应信号来运行。一些信号导致父级分叉。这允许在父级继续响应信号的同时进行其他处理。 当父母被发送SIGTERM时,我希望分叉的孩子也收到一个SIGTERM。在父级退出之前,子级完成处理 SIGTERM 并不重要。 但是,使用下面的代码,当我从父代调用< code>kill(0,SIGTERM)时,子代没有收到SIGTERM。从< code>kill联机帮助页来看,似乎所有的孩子

  • 问题内容: 我正在尝试从skyscanner API获取地理目录数据。我已阅读文档http://business.skyscanner.net/portal/zh- CN/Documentation/ApiOverview 我已经创建了api密钥。我成功打了api,并得到了与http://business.skyscanner.net/portal/zh- CN/Documentation/Fli

  • 我使用Python和selenium(PhantomJS webdriver)来解析网站,但遇到了问题。 我想从这个电台网站获取当前歌曲:http://www.eskago.pl/radio/eska-warszawa. xpath: 该xpath不适用于python selenium 错误: Traceback(最近一次调用):File"parser4.py",第41行,p.loop()File