如何通过 Selenium 打开 Chrome 浏览器控制台?

Posted

技术标签:

【中文标题】如何通过 Selenium 打开 Chrome 浏览器控制台?【英文标题】:How to open Chrome browser console through Selenium? 【发布时间】:2019-07-02 12:05:03 【问题描述】:

我想通过在 selenium webdriver 中按键盘键 Ctrl+Shift+j 打开 chrome 浏览器控制台。 我可以使用 Robot 类执行此操作,但我希望没有 Robot 类。我已经使用了使用 sendKeys 的 Actions 类和 Keys 类。但我无法打开浏览器控制台。

是chrome浏览器版本问题还是操作系统?为什么浏览器控制台没有使用 Action 类和 Keys 类打开。 ?

【问题讨论】:

Actions.sendKeys 无法做到这一点。正如 Javadoc 所说,它将键发送到活动元素(意味着 DOM 的一个元素)。 Ctrl+Shift+J 是浏览器应用程序的热键。 org.openqa.selenium.interactions.Keyboard.sendKeys 似乎可以处理浏览器密钥,但我从未使用过该功能。 【参考方案1】:

要打开 chrome 浏览器控制台,您可以使用带有 --auto-open-devtools-for-tabs 参数的 ChromeOptions 类,如下所示:

测试配置:

Selenium:Selenium 独立服务器 v3.14.0 ChromeDriver:ChromeDriver 2.46.628402 Chrome:谷歌浏览器 72.0.3626.96

代码块:

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;

public class A_Chrome_Browser_Console 

    public static void main(String[] args) 

        System.setProperty("webdriver.chrome.driver", "C:\\Utility\\BrowserDrivers\\chromedriver.exe");
        ChromeOptions options = new ChromeOptions();
        options.addArguments("start-maximized");
        options.addArguments("--disable-extensions");
        options.addArguments("--auto-open-devtools-for-tabs");
        WebDriver driver = new ChromeDriver(options);
        driver.get("https://www.google.com/");
        System.out.println(driver.getTitle());
    

控制台输出:

Google

浏览器控制台快照:

您可以在Opening inspect (pressing F12) on Chrome via Selenium 中找到基于python 的相关讨论

【讨论】:

谢谢,我试试。 不是控制台,是开发工具。您是如何获得对此投票的? @BVengerov 告诉我screenshot 是否能解决您的困惑 @DebanjanB 默认情况下,“元素”选项卡是打开的,控制台是隐藏的。您可以从答案中的屏幕截图中完美地看到这一点。如果您可以单击“控制台”选项卡打开控制台,那么没有什么可以阻止您在测试中设置断点并通过击键打开它 - 为什么还要费心更改 Chrome 参数。但是,如果您像我一样只有 VNC 处于查看模式,那么这根本没有帮助。 @BVengerov 现在可能只是为了争论,您偏离了原来的反问题。无论打开Elements 选项卡还是Console 选项卡,打开Chrome 浏览器控制台 都有明确的目标。如果您有用例/问题,请随时提出新票。 *** 贡献者将很乐意为您提供帮助。

以上是关于如何通过 Selenium 打开 Chrome 浏览器控制台?的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 Selenium 的 --user-data-dir 参数打开 Chrome 配置文件

通过 Selenium 在 Chrome 上打开检查(按 F12)

如何使用selenium 驱动chrome浏览器并且打开方式为手机模式

如何使用selenium 驱动chrome浏览器并且打开方式为手机模式

[Selenium自动化测试学习]Python+Selenium环境搭建

Selenium用法详解Options选项JAVA爬虫