相关疑难解决方法(0)

1761
推荐指数
23
解决办法
82万
查看次数

将jquery注入puppeteer页面

我正在尝试将jquery注入我的puppeteer页面,因为document.querySelector不会为我剪切它:

async function inject_jquery(page){
  await page.evaluate(() => {
    var jq = document.createElement("script")
    jq.src = "https://code.jquery.com/jquery-3.2.1.min.js"
    document.querySelector("head").appendChild(jq)
  })
  const watchDog = page.waitForFunction('window.jQuery !== undefined');
  await watchDog;
}
Run Code Online (Sandbox Code Playgroud)

结果是它大部分时间超时.有没有人有办法解决吗?

jquery node.js puppeteer

18
推荐指数
4
解决办法
2万
查看次数

如何在操纵up中单击具有特定内容的链接?

如果我的页面中有一些内容,例如:

<a>Hi!</a>
Run Code Online (Sandbox Code Playgroud)

如何使用Google的Puppeteer自动点击该元素?

我需要能够仅根据其内容而不是id,class或attribute来选择它。

$('a:contains("Hi!")')我可以利用这种东西来选择此元素吗?

如何使用https://github.com/GoogleChrome/puppeteer做到这一点

谢谢

browser-automation css-selectors puppeteer

7
推荐指数
2
解决办法
7044
查看次数

Puppeteer - 等待元素具有一定的价值

所以问题是 - 如何等待元素具有某个值?例如,某个页面上的某个按钮会将输入字段的值从"无值"更改为"值X".问题是 - 我不知道需要多少时间,因此page.waitFor()不是一个选项.我以为我可以使用page.waitForSelector(input:contains('No Value')); 但据我所知,这并不奏效.可能page.waitForFunction()应该工作,但我不确定在那里写什么函数(page.evaluate返回输入的值可能?).

asynchronous jest puppeteer

6
推荐指数
1
解决办法
4326
查看次数

使用 puppeteer 单击可见元素

我试图单击页面中的多个元素,但前提是它们可见。使用 selenium (使用)这非常容易is_displayed,但我似乎无法在 puppeteer 中找到方法。我试图使用类似的东西

try {
    await page
      .waitForSelector(id, visible=true, timeout=0)
      .then(() => {
        element.click()
      });
...
Run Code Online (Sandbox Code Playgroud)

但如果它是一个简单的元素,例如:

<a class="cookie-close" href="#">
OK
</a>
Run Code Online (Sandbox Code Playgroud)

我似乎也看不到使用element.click木偶操作者中的方法来做到这一点的方法。

javascript selenium puppeteer

4
推荐指数
1
解决办法
1万
查看次数

如何通过xpath获取元素?

我需要通过 xpath 查找 DOM 中的任何元素。我已经尝试过以下操作:

let el = await page.$x('//*[@id="readium-right-panel"]/ul/li[1]');
Run Code Online (Sandbox Code Playgroud)

返回的错误是:

类型错误:page.$x 不是函数

puppeteer

3
推荐指数
1
解决办法
2万
查看次数

Puppeteer:在选择器中转义方括号

我需要选择 ID 包含方括号的元素。

IE

#element[0]
Run Code Online (Sandbox Code Playgroud)

但是,我不断收到:

错误:未能找到与选择器“element[0]”匹配的元素

我已经用 转义了选择器中的元素\,但这不起作用。

page.select("#fruit\[0\]", "apples")
Run Code Online (Sandbox Code Playgroud)

双反斜杠转义也不起作用。IE:

page.select("#fruit\\[0\\]", "apples")
Run Code Online (Sandbox Code Playgroud)

更新:我试图选择的元素:

<select id="fruit[0]">
  <option>Please make a selection</option>
  <option>apples</option>
</select>
Run Code Online (Sandbox Code Playgroud)

注意:即使我尝试在上面的查询中使用 page.waitFor 方法,我也会遇到同样的错误。

javascript google-chrome-devtools google-cloud-functions puppeteer

0
推荐指数
1
解决办法
1266
查看次数