栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

DevTools使用Selenium和Python在ws://127.0.0.1:57671 / devtools / browser /8a586f7c-5f2c-4d10-8174-7a7bf50

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

DevTools使用Selenium和Python在ws://127.0.0.1:57671 / devtools / browser /8a586f7c-5f2c-4d10-8174-7a7bf50

在ws://127.0.0.1:9222 / devtools / browser /上监听的DevTools

文档中的@AndreaCardaci在 单独的上下文
加载URL
时提到 在无头模式下 使用 Google
Chrome时

普通的示例代码每次都在单独的上下文中的新的一次性选项卡中运行(认为它是隐身配置文件)。

为了从Chrome 62开始获取浏览器版本,浏览器目标URL是在运行时生成的,可以通过

/json/version
端点获取,
/devtools/browser
如果没有的话,可以回退到目标URL 。

以下是相关代码:

const CDP = require('chrome-remote-interface');async function doInNewContext(action) {    // fetch the browser version (since Chrome 62 the browser target URL is    // generated at runtime and can be obtained via the '/json/version'    // endpoint, fallback to '/devtools/browser' if not present)    const {webSocketDebuggerUrl} = await CDP.Version();    // connect to the DevTools special target    const browser = await CDP({        target: webSocketDebuggerUrl || 'ws://localhost:9222/devtools/browser'    });    // create a new context    const {Target} = browser;    const {browserContextId} = await Target.createBrowserContext();    const {targetId} = await Target.createTarget({        url: 'about:blank',        browserContextId    });    // connct to the new context    const client = await CDP({target: targetId});    // perform user actions on it    try {        await action(client);    } finally {        // cleanup        await Target.closeTarget({targetId});        await browser.close();    }}// this basically is the usual exampleasync function example(client) {    // extract domains    const {Network, Page} = client;    // setup handlers    Network.requestWillBeSent((params) => {        console.log(params.request.url);    });    // enable events then start!    await Promise.all([Network.enable(), Page.enable()]);    await Page.navigate({url: 'https://github.com'});    await Page.loadEventFired();}doInNewContext(example);

此外,按照获取浏览器目标URL(ws:// localhost:9222 / devtools / browser /
…)的方式,可以

http://127.0.0.1:9222/json/version

webSocketDebuggerUrl
字段中通过端点访问。所以,或者,如果您正在使用的选项启动铬
--remote-debugging-port=0
,无论 端口端点 被写入 DevToolsAcivePort 在浏览器配置文件夹文件。

结论

该错误不会影响您

@Test
,您可以暂时忽略该错误。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/653541.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号