我想让木偶操纵者使用以下方式从下拉框中选择:
await page.select(selector,values);
我可以使用xpath搜索'values'参数吗?
以下是代码示例:
<select id="dropdown" >
<option> No value selected </option>
<option value = "0|XXA1|RandomString"> Option 1 </option>
<option value = "0|XXA2|RandomString"> Option 2 </option>
<option value = "0|XXA3|RandomString"> Option 3 </option>
</select>
从示例中,我想选择值包含“XXA1”的选项。
这是方式,我想如何获得选项。
等待page.select('#dropdown','// select [@ id =“dropdown”] //选项[包含(@value,“XXA1”)]');
puppeteer中的'values'可能无法替换为xpath参数。 CMIIW。 但我可以用另一种方式解决它吗?
任何帮助将不胜感激。非常感谢 ! :d
答案 0 :(得分:0)
您可以使用xpath选择器方法,其名称不可使用$x:
page.$x('//select[@id="dropdown"]//option[contains(@value , "XXA1")]')
答案 1 :(得分:0)
let optElementHandle = page.$x('//select[@id="dropdown"]//option[contains(text() , "XX")]')
let optValue = optElementHandle.getProperty('value');
await page.select(`#dropdown option[value='${optValue}']`)