问题标签 [chromedp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
69 浏览

go - 如何在 Geziyor 中使用 headless chrome / chromedp?

我知道 Geziyor 中有一个 BrowserEndpoint 选项ws://localhost:9222我如何从 chrome/chromedp 获取这个 URL?

0 投票
0 回答
417 浏览

go - chromedp golang:如何从模板 HTML 字符串而不是 URL 创建屏幕截图和 pdf?

是否可以从 HTML 模板而不是URLchrome dp 库中生成 PDF/屏幕截图?

图书馆链接:https ://github.com/chromedp/chromedp

0 投票
1 回答
81 浏览

go - 如何在使用 chromedp 运行 webdriver 时访问 db?

我想在银行页面上自动提交 OTP。只有在 webdriver 单击银行页面上的确认后,我才会在我的数据库中获取 OTP。确认后,我需要从数据库中获取 OTP,然后自动提交 OTP。

问题是 chromedp.Run 期望所有 args 都是 chromedp.Tasks 类型,所以我不能在那里调用自定义函数,并且在从 db 获取 OTP 时出错。我该如何解决这个问题?

0 投票
1 回答
464 浏览

google-chrome - 无法在 docker 中运行 chromedp

我已经使用这种通常的方式在本地安装了 chromedp:- $ go get -u github.com/chromedp/chromedp。我可以在本地运行它,但是当我将它部署到我的舞台环境时,出现以下错误:-

exec: \"google-chrome\": executable file not found in $PATH

我需要在我的 dockerfile 中进行哪些更改?

注意:我已经尝试按照答案中的建议在我的 Dockerfile 中添加以下代码,但仍然无法正常工作

0 投票
0 回答
47 浏览

go - 如何使用“chromedp”浏览 Chrome 设置?

我正在尝试使用chromedpin 导航 Chrome 设置页面。

完整的例子在这里,但要点是非常基本和简单的:

从表面上看,设置页面chrome://settings/content/location有一个 DOM,搜索字段看起来像一个输入字段(带有 ID #input)。chromedp然而,试图通过失败与之交互:chromedp似乎根本找不到它。

对于某些背景,我正在尝试配置 Chrome 的某些方面,即自动拒绝位置请求,这似乎没有命令行标志。或者至少我找不到一个。我上面的示例与输入字段交互,因为它似乎更容易选择。

我真正想要的是单击“不允许网站查看您的位置”的单选按钮。与上面的输入字段类似,我无法弄清楚会导致chromedp选择特定单选按钮的正确咒语。如果有其他方法可以实现这一目标,我会全力以赴。但是,如果可能,我希望避免需要预先填充的 userdir。我是新手,chromedp所以如果这是微不足道的事情,我深表歉意。然而,我找不到答案。有一个关于 selenium 的类似问题,但我认为chromedp可能有很大不同,答案也可能不同。

0 投票
1 回答
102 浏览

web-scraping - 如何使用 ChromeDP/Go 登录 YouTube (Google)?

我正在尝试登录 Youtube,它使用 chromedp 重定向到 accounts.google.com/ServiceLogin?service=youtube...。由于某种原因,它会超时尝试从该页面检索任何内容。大多数选择器都有随机生成的类,但这不应该阻止获取正文,确实如此。屏幕截图显示了登录页面,因此它可以正确导航到那里,但在页面上找不到任何内容。有 iframe,但登录表单/输入不在一个,并且#identifierId找不到。

这是一个代码片段:

0 投票
0 回答
109 浏览

forms - 如何在 Chromedp 中发布请求,模拟表单

Chromedp 有一个 chromedp.Submit() 函数,它查询 html 页面中存在的表单并提交它。现在我需要的是在纯 golang 代码中发布请求,html 页面中没有表单元素,类似的 ajax 帖子,这篇文章应该基于当前上下文,包括 cookie、标题。在 Chromedp 中可以这样做吗?感谢您的任何建议!

0 投票
1 回答
272 浏览

google-chrome - 如何根据chromedp中的登录状态运行不同的代码?

演示代码:

我期待看到什么?

1、如果没有登录,会点击登录并登录,然后点击master > Tags > v0.6.6

2、如果是登录的,会点击master > Tags > v0.6.6

我看到了什么?

1、如果没有登录,运行代码,有时会报错:
2021/10/22 12:45:42 login err : Could not find node with given id (-32000)

2、如果已登录,运行代码,会打开“https://github.com/chromedp/chromedp”两个标签页

0 投票
0 回答
76 浏览

connection - chromedp 无法启动,读取:对等方重置连接

我的 golang 程序使用 chromedp 从其他网站获取数据。该程序运行了 2 周,一切看起来都很好。但突然之间,它开始失败,并出现错误消息“对等方重置连接”

我在本地容器上运行 docker 映像,它也可以工作。不知道发生了什么?

以下是我从 AWS cloudwatch 获取的日志。

0 投票
0 回答
19 浏览

java - Selenium ChromeWebDriver 在尝试登录网站时触发警报

我最近一直无法登录网站。

我可以使用非常原始的脚本使用 chromedp 手动和自动登录,该脚本仅依赖于将密钥发送到用户名和密码输入字段,并且仅提交密码字段。

伪代码(在 go chromedp 中工作,以前在 Java WebDriver 中工作):

基本上使用 Java WebDriver 和相同的脚本,我被重定向到一个页面,该页面表明我的浏览器不安全......

关于什么会导致 Java WebDriver 被标记为不安全而 chromedp 版本(用 go 编写)工作得很好的任何想法?

浏览器是相同的,Java WebDriver 是通过 chromedriver 可执行文件启动的,该可执行文件通过远程驱动程序进行通信,而 chromedp 正在与启用调试端口的现有正在运行的 chrome 实例通信。据我所知,请求标头是相同的(在随后的请求中观察到)。因此,我只能猜测有一个 JavaScript 机器人检测库将 Java WebDriver 脚本标记为机器人,而我使用 chromedp 的相应“脚本”未标记为机器人。