【发布时间】:2022-05-18 14:27:16
【问题描述】:
我正在尝试在 go 中使用 chromedp 导航 Chrome 设置页面。
完整的例子是here,但要点是非常基本和简单的:
//...
if err := cdp.Run(ctx,
cdp.Navigate(`chrome://settings/content/location`),
cdp.SendKeys(`#input`, "hello"),
); err != nil && !strings.Contains(err.Error(), "net::ERR_ABORTED") {
log.Fatal(err)
}
//...
表面上,chrome://settings/content/location 的设置页面有一个 DOM,而
搜索字段看起来像一个输入字段(ID 为#input)。然而,尝试通过chromedp 与之交互失败:chromedp 似乎根本找不到它。
对于某些背景,我正在尝试配置 Chrome 的某些方面,即自动拒绝位置请求,这似乎没有命令行标志。或者至少我找不到一个。我上面的示例与输入字段交互 因为它似乎更容易选择。
我真正想要的是单击“不允许网站查看您的位置”的单选按钮。与上面的输入字段类似,我无法弄清楚会导致chromedp 选择特定单选按钮的正确咒语。如果有其他方法可以实现这一目标,我会全力以赴。但是,如果可能,我希望避免需要预先填充的 userdir。我是chromedp 的新手,所以如果这是微不足道的事情,我深表歉意。然而,我找不到答案。有一个similar question about selenium,但我认为chromedp 可能完全不同,答案也可能不同。
【问题讨论】: