gpt4 book ai didi

javascript - 通过 A 列中包含的某些文本查找表的行,并选择同一行中的 B 列

转载 作者:行者123 更新时间:2023-12-03 12:10:12 27 4
gpt4 key购买 nike

我正在使用 casperjs。当前页面有一个表格,如下所示。我有字符串 "Title of Row 2 which I like"我想在表中搜索包含该字符串的行。

然后点击该行的按钮,即Clicky button 2

<table>
<!-- ...table header... -->
<tr id="row1">
<td>Row 1</td>
<td>Title of Row 1</td>
<td>
<button ... onClick='some javascript function'>Clicky Button 1</button>
</td>
</tr>
<tr id="row 2">
<td>Row 2</td>
<td>Title of Row 2 which I like</td>
<td>
<button ... onClick='some javascript function'>Clicky button 2</button>
</td>
</tr>
</table>

我的想法是:

  1. 我创建了一个正则表达式来在整个 DOM 中搜索包含 "Title of Row 2 which I like" 的整行。获取 id然后我编写了一个选择器,并在该行下找到了按钮。我已经这样做了,效果很好。

这就是我的想法。我只是想知道,是否有更casper(或优雅)的方法来做到这一点?我查看了一些函数.. . 似乎没有什么可以通过文本来搜索某些东西。想像 getElementsAttribute()可以给我 id我正在寻找的行...但我无法找到该行。

最佳答案

您可以使用 XPath 轻松实现此目的。 CasperJS 提供了 XPath 实用程序:

var x = require('casper').selectXPath;

所以你点击这样的按钮:

casper.click(x("//tr[contains(td, 'Title of Row 2 which I like')]//button"));

这假设每行只有一个按钮。如果按钮位于下一个 td 中,那么您可以使用

casper.click(x("//tr/td[contains(., 'Title of Row 2 which I like')]/following-sibling::td[1]/button"));

关于javascript - 通过 A 列中包含的某些文本查找表的行,并选择同一行中的 B 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25000333/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com