我需要选择ID包含方括号的元素。
即
#element[0]
但是,我不断得到:
错误:找不到与选择器“ element [0]”匹配的元素
我已经使用\
对选择器中的元素进行了转义,但这是行不通的。
page.select("#fruit\[0\]", "apples")
双反斜杠转义符也不起作用。即:
page.select("#fruit\\[0\\]", "apples")
更新:我要选择的元素:
<select id="fruit[0]">
<option>Please make a selection</option>
<option>apples</option>
</select>
注意:即使我尝试对上述查询使用page.waitFor方法,也会遇到相同的错误。
答案 0 :(得分:4)
[id="fruit[0]"]
:您可以使用CSS attribute selector来引用元素的id
属性:
await page.waitFor( '[id="fruit[0]"]' );
await page.select( '[id="fruit[0]"]', 'apples' );
答案 1 :(得分:0)
您可能未正确引用ID。
如果您在创建HTML元素(即fruit[0]
,fruit[1]
)时以编程方式生成ID,则存储的是值而不是。
示例:我有一个数组fruit = [apple, banana]
,我创建了一个元素...
<button id=fruit[0]>Click me</button>
如果要选择该按钮,则需要page.select('#apple')
而不是 page.select('#fruit[0]')