2016-06-07 219 views
2

我看到有a relatively new optionopen Chrome with Devtools open from the command line,我已經得到了使用這樣的電話從我的Windows 8.1的命令行工作:如何自動打開Selenium(C#)中的Chrome Devtools選項卡?

c:\Program Files (x86)\Google\Chrome\Application>"chrome.exe" --auto-open-devtools-for-tabs 

當我嘗試創建我ChromeDriver會在同一框中添加此選項在硒(在C#中),但是,該選項似乎被忽略。

var options = new ChromeOptions(); 
options.AddArgument("auto-open-devtools-for-tabs"); 

string executingAssembly = System.Reflection.Assembly.GetExecutingAssembly().Location; 
string driverPath = Path.Combine(Path.GetDirectoryName(executingAssembly), "ChromeWebDriver"); 
_driver = new ChromeDriver(driverPath, options); 

我試過在主題有一些變化,以確保方案在所有的工作,包括...

var options = new ChromeOptions(); 
options.AddArguments(new[] { "start-maximized", "auto-open-devtools-for-tabs"}); 

......還有......

var options = new ChromeOptions(); 
options.AddArgument("start-maximized"); 
options.AddArgument("auto-open-devtools-for-tabs"); 

...和...

var options = new ChromeOptions(); 
options.AddArgument("start-maximized"); 
options.AddExcludedArgument("auto-open-devtools-for-tabs"); 

...以及將它們設置爲0每個選項字符串前面有。我從所有這些都得到最大化的窗口。

我感覺Selenium的Chrome Web Driver不支持auto-open-devtools-for-tabs參數,但我不確定爲什麼它不支持與「完整」應用程序相同的選項集。

任何人都有這個選擇在C#中使用Selenium,或知道爲什麼它不應該在這種情況下工作?


這是沒有什麼不同this question,但在這裏我專門問了auto-open-devtools-for-tabs選項和C#。那個提交者聲稱沒有任何運氣選項,並且正在詢問如何從「內部」硒中打開devtools,在此選項存在之前明確地尋找方法。

回答

1

SO-12212504之後,並從選定的答案領先。

// without an element 
new Actions(driver).SendKeys(Keys.F12).Perform(); 

// send keys to body 
new Actions(driver).SendKeys(driver.FindElement(By.XPath("//body")), Keys.F12).Perform(); 

在另一邊你能嘗試使用AddUserProfilePreference從躋身ChromeOptions Methods

一種解決這個會使用來壓制F-12 [Key F12 Documentation]鍵

ChromeOptions options = new ChromeOptions(); 
options.AddUserProfilePreference("auto-open-devtools-for-tabs", "true"); 

注意:我不是很sur e關於參數名稱,但我希望你能找到相應的東西here


編輯:一些更多的嘗試使用鍵盤快捷鍵一樣 -

的Windows:[F12或按Ctrl + Shift + I]

String openDevTools = Keys.chord(Keys.CONTROL, Keys.SHIFT, "I"); 
driver.FindElement(By.XPath("//body")).SendKeys(openDevTools).Perform(); 

的Mac:[命令+選項+ I]

String openDevTools = Keys.chord(Keys.COMMAND, Keys.ALT, "I"); 
driver.FindElement(By.XPath("//body")).SendKeys(openDevTools).Perform(); 
+0

沒有骰子在'AddUserProfilePreference'上。值得一試;謝謝。但是當我運行它時,沒有devtools,和以前一樣。儘管這是一條不同的路線,但我確實嘗試過'SendKeys',但它只是間歇性地打開devtools。更糟糕的是,它的工作時間,我得到了我想我可能,'斷開:收到Inspector.detached事件\ n(會話信息:chrome = 50.0.2661.102)(驅動程序信息:chromedriver = 2.21.371459 ...'所以沒有運氣呢 – ruffin

+0

哦,好吧,可能標誌'自動開放devtools-for-tabs'應存在的方式來使用它沒有記錄任何地方http://stackoverflow.com/a/36957422/1746118 – nullpointer

0

紅寶石:必須安裝最新的硒的webdriver(3.7.0)寶石

options1 = Selenium::WebDriver::Chrome::Options.new 

options1.add_argument('--auto-open-devtools-for-tabs') 

driver = Selenium::WebDriver.for :chrome, options: options1 

driver.get("https://stackoverflow.com") 
相關問題