【发布时间】:2021-04-19 23:20:03
【问题描述】:
我有这个来自 select2 脚本的 html 代码:
<div class='round10'>
<select class='select2-authors-multiple' name='author[]' id='author' multiple style='width: 100%;'></select>
这来自同一页面:
<div class='round10'>
<select class='select2-narrators-muliple' name='narrator[]' id='narrator' multiple='multiple' style='width: 100%;'></select>
从 Firefox 检查员我得到这个:
<input class="select2-search__field" type="search" tabindex="0" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="searchbox" aria-autocomplete="list" placeholder="Select an Author" style="width: 1251.9px;">
<input class="select2-search__field" type="search" tabindex="0" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="searchbox" aria-autocomplete="list" placeholder="Select a Narrator" style="width: 1241.9px;">
我已经编写了这段代码,它可以工作:
driver.execute_script("$('.select2-search__field').val('example').trigger('change')")
但是如果用“示例”填写两个表格,我怎样才能将它们分开? 如何在 jQuery 选择器中添加附加属性以进一步限制匹配元素?
尝试使用它来识别它们,但它不起作用:
# author
script = "$('.select2-search__field[id='Author']').val('example').trigger('change'))"
# generate a script via javascript
driver.execute_script(script)
【问题讨论】:
标签: javascript python selenium-webdriver webdriver jquery-select2