除了使用 selector ,也可以通过 xpath 路径进行识别: page.$x(expression), 如 await page.$x('//*[@id="main-menu"]/li[2]/a')页面操作及键盘输入 自动化测试中最常用的操作自然是驱动页面执行相关的操作。在 Puppeteer 中可以使用相关已封装的方法完成对应操作。// 获取焦点await page.focus(selector)...
page.waitForSelector :等待选择器对应的元素出现,返回对应的 ElementHandle 实例 page.waitForResponse :等待某个响应结束,返回 Response 实例 page.waitForRequest:等待某个请求出现,返回 Request 实例 awaitpage.waitForXPath('//img');awaitpage.waitForSelector('#uniqueId');awaitpage.waitForResponse('https://d....
page.$$('div'):获取某个选择器对应的所有元素 page.$x('//img'):获取某个 xPath 对应的所有元素 page.waitForXPath('//img'):等待某个 xPath 对应的元素出现 page.waitForSelector('#uniqueId'):等待某个选择器对应的元素出现 Case2: 模拟用户操作 代码语言:javascript 代码运行次数:0 运行 AI代码解释 ...
(); const page = await browser.newPage(); await page.goto(url); // 等待选择器对应的元素加载完成 await page.waitForSelector(selector); // 获取元素的innerHTML const innerHTML = await page.$eval(selector, element => element.innerHTML); // 关闭浏览器实例 await browser.close(); return ...
嗯,直接返回一个对象,带着我们想要的处理结果和日志结果,然后我们打印的时候可以这样: letresponse=awaitcreateParse(page,selector,xpath);response.log.map(
waitForSelector与waitForXPath 大白话翻译:等待选择器/XPath 这两个其实说到底长得都差不多,都是右键copy就有选项是要selector还是XPath,用法一致,长相也亲兄弟,连参数都一样,更多更具体就不细说了可以自己查 但这里有一个非常好用的小点! 看到了什么?等待函数返回的居然是元素句柄??
如果selectorOrFunctionOrTimeout 是string, 那么认为是 css 选择器或者一个xpath, 根据是不是'//'开头, 这时候此方法是 page.waitForSelector 或page.waitForXPath的简写 如果selectorOrFunctionOrTimeout 是function, 那么认为是一个predicate,这时候此方法是page.waitForFunction()的简写 如果selectorOrFunctionOrTi...
获取xpath表达式对应元素文本 1 2 3 4 5 6 7 8 9 10 const browser = await puppeteer.launch(); const page = await browser.newPage(); await page.goto('https://example.com/'); const title = await page.$x("//h1"); let text = await page.evaluate(h1 => h1.textContent, title[0])...
所以在大多数情况下,在 XPath 表达式中使用.而不是text()更有意义。 您可以只使用查询选择器。 await page.evaluate(() => { document.querySelector('input[type=button]').click(); }); 编辑—- 您可以给按钮一个 className 并使用它来选择按钮元素,因为您确切知道要单击的内容: ...
如果你想通过元素的 name 属性而不是 id 来选择输入,可以使用 Puppeteer 的 page.$ 或page.$$ 方法结合 CSS 选择器或 XPath 表达式。 示例代码 以下是一个使用 Puppeteer 按名称选择输入并提交表单的示例: 代码语言:txt 复制 const puppeteer = require('puppeteer'); (async () => { const browser = ...