鉴于Selenium 2关闭了devtools窗口,其中包含我的用户配置文件中保存的我的模拟器配置文件。有没有办法触发devtools使用selenium脚本打开?
以下是关于devtools窗口关闭问题的信息 https://sites.google.com/a/chromium.org/chromedriver/help/devtools-window-keeps-closing
我觉得有点精疲力竭尝试其中一些Chromium覆盖参数,其中只有一个似乎有效 http://peter.sh/experiments/chromium-command-line-switches/
有任何影响的是以下
options.addArguments("user-data-dir=/Path/to/chrome/profile");
如果无法打开开发工具窗口或面板,有没有办法初始化模拟器?
答案 0 :(得分:1)
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --auto-open-devtools-for-tabs
答案 1 :(得分:0)
你可以使用Robot类。它只是帮助您在任何浏览器上打开开发工具。
在您要打开开发工具
的地方使用此代码 try{
Robot robot=new Robot();
robot.keyPress(KeyEvent.VK_F12);
robot.keyRelease(KeyEvent.VK_F12);
}
catch(Exception ex){
System.out.println(ex.getMessage());
}
答案 2 :(得分:0)
您可以使用下面给出的代码,它可以正常使用FireFox只需更改浏览器
public void open(String url) {
driver.get(url);
Actions action = new Actions(driver);
String pressF12=Keys.chord(Keys.F12,"");
driver.findElement(By.id("lst-ib")).sendKeys(pressF12);
}
答案 3 :(得分:0)
正如您提供的相同链接所述,自2.x以来,无法将ChromeDev工具与Selenium的ChromeDriver一起使用。它只是直接冲突,你可以使用其中一种。
执行变通方法的唯一方法是暂停所有Chrome驱动程序交互,通过其他自动化框架(如Robots API)启动DevTool,执行您需要的任何操作,然后继续。
但我可能会考虑开发工具需要什么,通过在启动时为Chrome提供正确的配置,是不是可以替代您需要的东西? (加载不同的配置文件,或加载模拟设备)
答案 4 :(得分:0)
为什么你还需要chrome devtools?
firebug.xpi
或browsermobproxy
使用firefoxdriver。 带有Chrome模拟浏览器的WebDriver
这是一个代码段,您可以使用它在特定的模拟版本中启动Chrome浏览器。请注意,此处的关键是deviceName
值,该值应与您的Chrome浏览器中提到的值相匹配。
public static WebDriver MobileOpen()
{
Map<String, String> mobileEmulation = new HashMap<String, String>();
System.setProperty("webdriver.chrome.driver","path/to/chromedriver");
mobileEmulation.put("deviceName", "Google Nexus 6");
Map<String, Object> chromeOptions = new HashMap<String, Object>();
chromeOptions.put("mobileEmulation", mobileEmulation);
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability(ChromeOptions.CAPABILITY, chromeOptions);
WebDriver driver = new ChromeDriver(capabilities);
return driver;
}
希望这会有所帮助。
编辑:我刚看到它是一个3岁的帖子。这家伙可能已找到回家的路。 :P
答案 5 :(得分:-1)
您是否尝试过console API来满足您的需求?它允许您从JS内部调用一些开发工具函数。