木偶:选择器中的方括号逸出

时间:2018-09-10 05:27:04

标签: javascript google-chrome-devtools google-cloud-functions puppeteer

我需要选择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方法,也会遇到相同的错误。

2 个答案:

答案 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]')