gpt4 book ai didi

javascript - 使用文本从下拉列表中选择值

转载 作者:行者123 更新时间:2023-12-02 16:49:42 25 4
gpt4 key购买 nike

如何使用文本而不是值或索引从下拉列表中选择值?HTML:

<select   name="category_group" id="category_group"  sel_id="" >
<option value="0" selected="selected">Kies de rubriek</option>

<option value='1000' style='background-color:#dcdcc3;font-weight:bold;' disabled="disabled" id='cat1000' >

-- VOERTUIGEN --

</option>

<option value='1020' id='cat1020' >
Auto's

</option>

<option value='1080' id='cat1080' >
Auto's: Onderdelen

</option>

<option value='1040' id='cat1040' >
Motoren

</option>

<option value='1140' id='cat1140' >
Motoren: Onderdelen

</option>
</select>

脚本:

this.fillSelectors('form[name="formular"]', {
'select[name="category_group"]': 'Motoren'
}, false);

这不起作用,但它可以使用“Motoren”的值(即 1140)。如何使用 fillSelectors 和文本使其工作?

最佳答案

CasperJS 的 fill 函数只能通过使用该值来工作。在您的情况下,这不起作用,因为您尝试设置显示的值而不是分配的选项值。不过,这可以很容易地扩展:

casper.selectOptionByText = function(selector, textToMatch){
this.evaluate(function(selector, textToMatch){
var select = document.querySelector(selector),
found = false;
Array.prototype.forEach.call(select.children, function(opt, i){
if (!found && opt.innerHTML.indexOf(textToMatch) !== -1) {
select.selectedIndex = i;
found = true;
}
});
}, selector, textToMatch);
};

casper.start(url, function() {
this.selectOptionByText('form[name="formular"] select[name="category_group"]', "Motoren");
}).run();

参见this code在 SO 联系页面上查看完整的工作示例。

关于javascript - 使用文本从下拉列表中选择值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26792260/

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