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

通过xpath获取第二个事件

谢财
2023-03-14

我的项目中有FullCalendar:https://www.primefaces.org/primereact/#/fullcalendar

我一天有2个事件,我通过以下代码找到了第一个事件:

//tbody//td[count(//thead//td[@data-date='2019-08-06']/preceding-sibling::*)+1] 

我需要找到第二个或更多的事件。

<table>
 <thead>
  <tr>
   <td data-date="2019-08-05"></td>
   <td data-date="2019-08-06"></td> 
   <td data-date="2019-08-07"></td> 
   <td data-date="2019-08-08"></td> //find index of this element
   <td data-date="2019-08-09"></td>
  </tr>
 </thead>
 <tbody>
  <tr>
   <td rowspan="2"></td>
   <td rowspan="2" class="rrrr">event1 2019-08-06</td>
   <td class="rrrr">event1 2019-08-07</td>
   <td class="rrrr">event1 2019-08-08</td> //find this element by found index
   <td rowspan="2"></td>
  </tr>
  <tr>
    <td class="rrrr">event2 2019-08-07</td>
    <td class="rrrr">event2 2019-08-08</td> //find this element by found index
  </tr>
 </tbody>

UPD如何在第二天工作//div[@class='fc-entent-bone eton'][.//td[@data-date='2019-09-03']]//tbody/tr/td[计数(//thead//td[@data-date='2019-09-03']/前面的兄弟姐妹::*)1]

共有1个答案

秦英发
2023-03-14

我将使用下面的xpath获取所有事件,然后迭代它们。因此,即使事件的计数在日期之间发生变化,您也不必担心。

//div[@class='fc-content-skeleton'][.//td[@data-date='2017-02-12']]//tbody/tr/td[count(//thead//td[@data-date='2017-02-12']/preceding-sibling::*)+1]

截图:

如果您想访问任何特定的事件,那么可以使用如下所示的索引进行访问。(将整个xpath包装在()中,然后在[]中提供索引)。

(//div[@class='fc-content-skeleton'][.//td[@data-date='2017-02-12']]//tbody/tr/td[count(//thead//td[@data-date='2017-02-12']/preceding-sibling::*)+1])[2]
 类似资料:
  • 嗨,我一直在到处寻找一个非常简单的解释,如何通过xPath找到一个元素。 我想要的只是一种简单的方法来寻找一个元素,但是我想要找到的所有帮助都需要一个。这对我不管用。以下是我想做的: 加载URL 这是我的代码: 当我执行 我得到未定义时,我做 有没有更简单的方法来获取元素?也许是。。。。

  • 我正在尝试从网页复制一个文本元素并在我的控制台中打印它,作为对未来项目的测试。 这些是我收到错误时的行: 错误是这样的: 然后我的chomedrive关闭了。有什么问题?

  • 我使用了以下代码, 这会引发错误“表达式不是合法表达式”。“代码:“12”nsresult:“0x805b0033(SyntaxError)”位置:”“]”。 当我缩小搜索范围到 它工作正常,我得到了特定行中的所有文本。然而,当我将其扩展到特定于第1个代码中所示的列时,我得到了错误。 html代码段,

  • HTML部分: 下面是我正在尝试的Xpath: 但是得到例外: 无效的选择器:由于以下错误,无法找到 xpath 表达式为 //li[文本()=//li[. = 'admin'] 的元素: 语法错误:未能对“Document”执行“evaluate”:字符串“//li[text()=//li[。= 'admin']'不是有效的XPath表达式。 精确查看UI和超文本标记语言代码: 该字段会自动完成

  • 问题内容: 我正在尝试获取对象的第一个父项的字段和值。我当前的代码是这样的: 我的课程结构与此类似: 现在,我将一个C对象传递给该方法,并且我想从C和B中获取所有字段,而不是从A中获取所有字段。有没有办法做到这一点(使用反射,我不想实现其他方法)? 问题答案: Luchian,使用getSuperclass()方法获取对Class对象的引用,该对象表示所讨论对象的超类类型。之后,您可以像在示例中一