gpt4 book ai didi

javascript - CasperJS 选择具有指定文本的复选框

转载 作者:行者123 更新时间:2023-11-30 12:10:06 26 4
gpt4 key购买 nike

我想用casperJS自动选中复选框

<tr>
<td style=" text-align:center;">
<input type="checkbox" data-rowindex="1" data-crdid="0005442" data-numcrd="3" value="">
</td>
<td>Data Structures and Algorithms</td>
<td>INT2203></td>
</tr>
<tr>
<td style=" text-align:center;">
<input type="checkbox" data-rowindex="2" data-crdid="0005682" data-numcrd="3" value="">
</td>
<td>Machine Learning</td>
<td>INT2204></td>
</tr>
<tr>
<td style=" text-align:center;">
<input type="checkbox" data-rowindex="3" data-crdid="003643" data-numcrd="3" value="">
</td>
<td>Artificial Intelligence</td>
<td>INT2205></td>
</tr>

第一列是要选择的复选框。第二个是主题名称,最后一个是主题ID。

现在只知道题目的ID:INT2204,想用casperjs选中这个题目的框。但是,唯一要区分的是 data-crdid 我不知道。

是否有通过 casperjs 选择 ID 为“INT2204”的主题的复选框?

最佳答案

您可以使用 jQuery 过滤元素并获取兄弟元素。如果您注入(inject) jQuery(如果尚未注入(inject)),CasperJS 可以在页面内部对此进行评估。

注入(inject) jQuery:

casper = require('casper').create();
casper.start();
casper.open('some url');
casper.then(function doSomething() {
this.page.injectJs('relative/local/path/to/jquery.js');
this.evaluate(function (courseId) {
$('td').filter(function() {
return $(this).text() === courseId;
}).siblings().find('input').prop('checked', true);
}, 'INT2203>');
});

浏览器中的示例:

var courseId = 'INT2203>';
$('td').filter(function() {
return $(this).text() === courseId;
}).siblings().find('input').prop('checked', true);
<html>

<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<title>Checkbox test</title>
</head>

<body>
<table>
<tr>
<td style=" text-align:center;">
<input type="checkbox" data-rowindex="1" data-crdid="0005442" data-numcrd="3" value="">
</td>
<td>Data Structures and Algorithms</td>
<td>INT2203></td>
</tr>
<tr>
<td style=" text-align:center;">
<input type="checkbox" data-rowindex="2" data-crdid="0005682" data-numcrd="3" value="">
</td>
<td>Machine Learning</td>
<td>INT2204></td>
</tr>
<tr>
<td style=" text-align:center;">
<input type="checkbox" data-rowindex="3" data-crdid="003643" data-numcrd="3" value="">
</td>
<td>Artificial Intelligence</td>
<td>INT2205></td>
</tr>
</table>

</body>

</html>

关于javascript - CasperJS 选择具有指定文本的复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34040480/

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