【发布时间】:2019-09-01 17:50:46
【问题描述】:
我正在使用 Puppeteer JS,我正在尝试选择下拉列表的第一个元素,请告知。
在输入文本中输入城市名称后,我需要选择下拉列表的第一个元素。
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({headless: false});
const page = await browser.newPage();
const page1=await page.goto('https://www.srinu.com');
await page.screenshot({path: 'example.png'});
const date = '#SearchBoxContainer > div > div > div.IconBox.IconBox--autocomplete > div > div > input';
await page.click(date);
await page.type(date, 'China');
await page.select('#data-text', 'Chinatown')
// const option = (await page.$x(
// '//*[@id="SearchBoxContainer"]/div/div/div[5]/div/div/ul/li[1]'
// ))[0].click();
我尝试了两种不同的方法,选择并单击,它们都不起作用。
【问题讨论】:
-
尝试使用 xpath
await page.click('//ul[@class='AutocompleteList']/li[contains(.,'Chinatown')]') -
仍然不工作,说不是一个有效的选择器,因为我们使用 xpath 可能是。 UnhandledPromiseRejectionWarning:错误:评估失败:DOMException:无法在“文档”上执行“querySelector”:“//ul[@class='AutocompleteList']/li[contains(.,'Chinatown')]' 不是有效的选择器.
-
@SinuReddy 请检查我的回答
标签: javascript selenium puppeteer