Выберите раскрывающийся список, используя XPath в Puppeteer - PullRequest
0 голосов
/ 26 мая 2018

Я хочу, чтобы кукловод выбирал из выпадающего списка:

, ожидайте page.select (селектор, значения);

Могу ли я использовать xpath дляпараметр поиска «значения»?

Вот пример кода:

<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».

Вот способ, которым я хочу получить опцию.

await page.select ('# dropdown', '// select [@ id = "dropdown"] // option[содержит (@value, "XXA1")] ');

' Значения 'в кукловоде не могут быть заменены аргументом xpath.CMIIW.Но могу ли я решить это по-другому?

Любая помощь будет оценена.Большое спасибо !: D

Ответы [ 2 ]

0 голосов
/ 29 ноября 2018
let optElementHandle = page.$x('//select[@id="dropdown"]//option[contains(text() , "XX")]')
let optValue = optElementHandle.getProperty('value');
await page.select(`#dropdown option[value='${optValue}']`)
0 голосов
/ 11 июля 2018

Вы можете использовать метод селектора xpath с очень не гугловым именем: $ x :

page.$x('//select[@id="dropdown"]//option[contains(@value , "XXA1")]')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...