问题标签 [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.
go - 如何在 Geziyor 中使用 headless chrome / chromedp?
我知道 Geziyor 中有一个 BrowserEndpoint 选项,但ws://localhost:9222
我如何从 chrome/chromedp 获取这个 URL?
go - chromedp golang:如何从模板 HTML 字符串而不是 URL 创建屏幕截图和 pdf?
是否可以从 HTML 模板而不是URL
chrome dp 库中生成 PDF/屏幕截图?
go - 如何在使用 chromedp 运行 webdriver 时访问 db?
我想在银行页面上自动提交 OTP。只有在 webdriver 单击银行页面上的确认后,我才会在我的数据库中获取 OTP。确认后,我需要从数据库中获取 OTP,然后自动提交 OTP。
问题是 chromedp.Run 期望所有 args 都是 chromedp.Tasks 类型,所以我不能在那里调用自定义函数,并且在从 db 获取 OTP 时出错。我该如何解决这个问题?
google-chrome - 无法在 docker 中运行 chromedp
我已经使用这种通常的方式在本地安装了 chromedp:-
$ go get -u github.com/chromedp/chromedp
。我可以在本地运行它,但是当我将它部署到我的舞台环境时,出现以下错误:-
exec: \"google-chrome\": executable file not found in $PATH
我需要在我的 dockerfile 中进行哪些更改?
注意:我已经尝试按照此答案中的建议在我的 Dockerfile 中添加以下代码,但仍然无法正常工作
go - 如何使用“chromedp”浏览 Chrome 设置?
我正在尝试使用chromedp
in 导航 Chrome 设置页面。
完整的例子在这里,但要点是非常基本和简单的:
从表面上看,设置页面chrome://settings/content/location
有一个 DOM,搜索字段看起来像一个输入字段(带有 ID #input
)。chromedp
然而,试图通过失败与之交互:chromedp
似乎根本找不到它。
对于某些背景,我正在尝试配置 Chrome 的某些方面,即自动拒绝位置请求,这似乎没有命令行标志。或者至少我找不到一个。我上面的示例与输入字段交互,因为它似乎更容易选择。
我真正想要的是单击“不允许网站查看您的位置”的单选按钮。与上面的输入字段类似,我无法弄清楚会导致chromedp
选择特定单选按钮的正确咒语。如果有其他方法可以实现这一目标,我会全力以赴。但是,如果可能,我希望避免需要预先填充的 userdir。我是新手,chromedp
所以如果这是微不足道的事情,我深表歉意。然而,我找不到答案。有一个关于 selenium 的类似问题,但我认为chromedp
可能有很大不同,答案也可能不同。
web-scraping - 如何使用 ChromeDP/Go 登录 YouTube (Google)?
我正在尝试登录 Youtube,它使用 chromedp 重定向到 accounts.google.com/ServiceLogin?service=youtube...。由于某种原因,它会超时尝试从该页面检索任何内容。大多数选择器都有随机生成的类,但这不应该阻止获取正文,确实如此。屏幕截图显示了登录页面,因此它可以正确导航到那里,但在页面上找不到任何内容。有 iframe,但登录表单/输入不在一个,并且#identifierId
找不到。
这是一个代码片段:
forms - 如何在 Chromedp 中发布请求,模拟表单
Chromedp 有一个 chromedp.Submit() 函数,它查询 html 页面中存在的表单并提交它。现在我需要的是在纯 golang 代码中发布请求,html 页面中没有表单元素,类似的 ajax 帖子,这篇文章应该基于当前上下文,包括 cookie、标题。在 Chromedp 中可以这样做吗?感谢您的任何建议!
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”两个标签页
connection - chromedp 无法启动,读取:对等方重置连接
我的 golang 程序使用 chromedp 从其他网站获取数据。该程序运行了 2 周,一切看起来都很好。但突然之间,它开始失败,并出现错误消息“对等方重置连接”
我在本地容器上运行 docker 映像,它也可以工作。不知道发生了什么?
以下是我从 AWS cloudwatch 获取的日志。
java - Selenium ChromeWebDriver 在尝试登录网站时触发警报
我最近一直无法登录网站。
我可以使用非常原始的脚本使用 chromedp 手动和自动登录,该脚本仅依赖于将密钥发送到用户名和密码输入字段,并且仅提交密码字段。
伪代码(在 go chromedp 中工作,以前在 Java WebDriver 中工作):
基本上使用 Java WebDriver 和相同的脚本,我被重定向到一个页面,该页面表明我的浏览器不安全......
关于什么会导致 Java WebDriver 被标记为不安全而 chromedp 版本(用 go 编写)工作得很好的任何想法?
浏览器是相同的,Java WebDriver 是通过 chromedriver 可执行文件启动的,该可执行文件通过远程驱动程序进行通信,而 chromedp 正在与启用调试端口的现有正在运行的 chrome 实例通信。据我所知,请求标头是相同的(在随后的请求中观察到)。因此,我只能猜测有一个 JavaScript 机器人检测库将 Java WebDriver 脚本标记为机器人,而我使用 chromedp 的相应“脚本”未标记为机器人。