https://www.nhtsa.gov/ratings
我一直试图让木偶从下拉菜单中选择一个选项,所以我可能会从上面的网站刮出信息。
2.我还想知道如何选择第2个、第3个和第4个选项,而不需要硬编码。
我甚至还没有开始搜集信息/sad;(
const puppeteer = require('puppeteer');
async function spider() {
try {
let browser = await puppeteer.launch({ headless: false});
let page = await browser.newPage();
await page.goto('https://www.nhtsa.gov/ratings');
await page.click('a[data-target=".manufacturer-search-modal"]');
await page.click('select');
await page.click('option[value="AUDI"]');
} catch(error) {
console.log(error)
await browser.close();
}
}
export default spider
我认为有几个问题。第一,有时页面会弹出一个调查,你可能需要先关闭它。第二,在单击.manufacturer-search-modal
链接和尝试与select框交互之间需要等待一段时间,因为框中的选项不会立即填充(可能是向服务器发出请求以获取选项列表)。第三,我认为选择框有点特别,点击它们不起作用,但你可以使用Page.select代替。把这些都放在一起,再加上一些按数字选择项目的难看代码:
async function spider() {
try {
let browser = await puppeteer.launch({ headless: false});
let page = await browser.newPage();
await page.goto('https://www.nhtsa.gov/ratings');
try {
// Give the 'take our survey' box a chance to pop up, and close it if it does
await page.waitFor('.acsCloseButton', { timeout: 1000 });
await page.click('.acsCloseButton')
} catch {
}
await page.click('a[data-target=".manufacturer-search-modal"]');
// wait for the options to be populated
await page.waitFor('option:nth-child(2)');
// search for AUDI
await page.select('select', 'AUDI');
await page.click('.manufacturer-search-submit');
// select third element in drop-down
// there's probably a better way to do this
const options = await page.$$('option');
const properties = await options[2].getProperties();
const value = await properties.get('_value').jsonValue();
await page.select('select', value);
await page.click('.manufacturer-search-submit');
} catch(error) {
console.log(error)
await browser.close();
}
}
我想让木偶演员从下拉框中选择使用: await Page.Select(选择器,值); 这里是方法,如何我想要得到的选项。 等待页面。选择('#dropdown','//select[@id=“dropdown”]//option[contains(@value,“xxa1”)]'); puppeteer中的“values”可能不能替换为xpath参数。CMIIW.但我能用另一种方法解决吗? 任何
本文向大家介绍BootStrap 下拉菜单点击之后不会出现下拉菜单(下拉菜单不弹出)的解决方案,包括了BootStrap 下拉菜单点击之后不会出现下拉菜单(下拉菜单不弹出)的解决方案的使用技巧和注意事项,需要的朋友参考一下 最近学到Bootstrap下拉菜单,学懂了教程内容之后自己敲一个点击按钮底下弹出下拉菜单的小demo,写完代码发现运行之后点击按钮没反应,下拉菜单弹不出来,对照教程感觉代码没错
问题内容: 如果下拉菜单可见,并且我在下拉菜单外部单击,它将关闭。我需要它不关闭。 从文档中: 打开后,该插件还会添加 .dropdown-backdrop 作为单击区域,以在菜单外单击时关闭下拉菜单。 我可以添加什么JavaScript以防止下拉列表关闭? 问题答案: 从_Bootstrap_文档的事件部分: :调用hide实例方法后,立即触发此事件。 对于初学者来说,为了防止下拉菜单关闭,我们
我想实现从网站上的下拉菜单中进行选择的功能,但我似乎无法找到要查询的正确选择器,这样它就可以从下拉菜单中随机选择一个项目。 https://www.slamjam.com/en_GB/man/footwear/sneakers/low/nike-running/air-tailwind-79-sneakers/j166713.html 我可以让它点击下拉列表,并带来库存大小,但我不能让它从下拉列表
问题内容: 我需要建立一个包含5个选项的菜单,单击某个菜单后,将出现一个新的子菜单。我完全不知道该怎么做。 问题答案: CSS没有点击处理程序。因此,不可能使用标准CSS。您可以使用一种称为“复选框hack”的方法,但是我谦虚地认为,它有点笨拙,并且会像您的用例要求那样在导航菜单中使用,这很尴尬。因此,我建议使用jQuery或Javascript。这是使用jQuery的一种非常简单的解决方案。 基
我想我的问题以前已经回答过很多次了,但是我找不到确切的我的案例。 我有一个垂直菜单和子菜单,我想显示子菜单,只有当父菜单被点击(不是悬停),一次只显示一个子菜单,在点击菜单的某个地方后,我想要子菜单消失。 这就是我现在得到的--它基于现在的悬停。我试着把a:hover改成类似a:active的东西,但它并不能很好地工作(我在CSS方面不是很好)。 有谁知道吗?