2017-07-16 16 views
5

मैं हेडलेस क्रोम को आजमाने की कोशिश करता हूं, लेकिन मैं इस समस्या में भाग रहा हूं, कि मैं ड्राइवर को हेडलेस मोड में शुरू नहीं कर सकता। मैं google documentation का पालन कर रहा था। क्या मैं कुछ भूल रहा हूँ ?हेडलेस मोड में क्रोमड्राइवर कैसे शुरू करें

var chromeOptions = new ChromeOptions 
{ 
    BinaryLocation = @"C:\Users\2-as Aukstas\Documents\Visual Studio 2017\Projects\ChromeTest\ChromeTest\bin\Debug\chromedriver.exe", 
    DebuggerAddress = "localhost:9222" 
}; 

chromeOptions.AddArguments(new List<string>() {"headless", "disable-gpu" }); 

var browser = new ChromeDriver(chromeOptions); 


browser.Navigate().GoToUrl("https://stackoverflow.com/"); 
Console.WriteLine(browser.FindElement(By.CssSelector("#h-top-questions")).Text); 
+0

आपका 'chromedriver.exe' संस्करण क्या है? – haim770

+0

मेरा संस्करण 2.30.0 है। NuGet –

+0

'BinaryLocation' से इसे क्रोम (ब्राउज़र) के' exe' को इंगित करना चाहिए, 'chromedriver.exe' – haim770

उत्तर

9

अद्यतन जब तक विंडोज पर उपलब्ध नहीं होगा
क्रोम संस्करण 60 बाहर तो तुम सब है करने की आवश्यकता है Nuget के माध्यम से Chromdriver और सेलेनियम डाउनलोड करने के लिए और इस सरल कोड का उपयोग करें और सब कुछ एक आकर्षण की तरह काम करता है। गजब का।

var chromeOptions = new ChromeOptions(); 
chromeOptions.AddArguments(new List<string>() {"headless"}); 

var browser = new ChromeDriver(chromeOptions); 

दिनांक

वहाँ क्रोम 60 की आधिकारिक रिलीज जब तक एक समाधान जारी किया जाएगा है। आप क्रोम कैनरी डाउनलोड कर सकते हैं और इसके साथ हेडलेस का उपयोग कर सकते हैं। स्थापना भी कनारी क्रोम DebuggerAddress लाइन बाहर टिप्पणी करने के लिए बात करने के लिए BinaryLocation सेट करने के बाद (यह समयबाह्य करने क्रोम बलों):

var chromeOptions = new ChromeOptions 
{ 
    BinaryLocation = @"C:\Users\2-as Aukstas\AppData\Local\Google\Chrome SxS\Application\chrome.exe", 
    //DebuggerAddress = "127.0.0.1:9222" 
}; 

chromeOptions.AddArguments(new List<string>() { "no-sandbox", "headless", "disable-gpu" }); 

var _driver = new ChromeDriver(chromeOptions); 
+0

क्रोमड्रिवर के लिए कौन सा nuget पैकेज आवश्यक है, वहां एक कुछ - 'क्रोमियम। क्रोमड्राइवर', 'वेबड्राइवर क्रोमड्राइवर', 'सेलेनियम। वेबड्राइवर। क्रोमड्रिवर' आदि – thisextendsthat

+1

सेलेनियम। वेबड्राइवर। क्रोमड्राइवर –

0

क्या ओएस आप चला रहे हैं: कोड निष्पादन var browser = new ChromeDriver(); लाइन

यहाँ मेरी कोड में अटक जाती है? मैं developers.google.com/web/updates/2017/04/headless-chrome पर देखते हैं कि बिना सिर क्रोम 60.

+0

विंडोज 10 को हल नहीं करता है। यह जवाब देता है कि ... :( –

+0

@EvaldasB - क्या आप उत्तर को स्वीकार कर सकते हैं अगर यह आपके प्रश्न के लिए है। धन्यवाद – Kapil

0

आप के लिए है कि ChromeDriver के लिए संदर्भ नहीं मिला। इस कदम का उपयोग करें:

  1. इस से dll डाउनलोड करें: http://seleniumtestings.com/selenium-download/

  2. निकालें, और आप देखना चाहिए: Selenium.WebDriverBackedSelenium.dll, ThoughtWorks.Selenium.Core.dll, WebDriver.dll और WebDriver .Support.dll

  3. के माध्यम से "संदर्भ जोड़ें" उन फ़ाइलों को जोड़े

अब तुम मैं उपयोग कर सकते हैं टी:

String url = "http://www.google.com"; 
var chromeOptions = new ChromeOptions(); 
chromeOptions.AddArguments(new List<string>() { 
    "--silent-launch", 
    "--no-startup-window", 
    "no-sandbox", 
    "headless",}); 

var chromeDriverService = ChromeDriverService.CreateDefaultService(); 
chromeDriverService.HideCommandPromptWindow = true; // This is to hidden the console. 
ChromeDriver driver = new ChromeDriver(chromeDriverService, chromeOptions); 
driver.Navigate().GoToUrl(url); 

====

आप चलाने के बाद, आप अभी भी कोई ChromeDriver.exe फाइल के बारे में त्रुटि का सामना कर रहे, Selenium.WebDriver.ChromeDriver, WebDriver.ChromeDriver, WebDriver जोड़ने का प्रयास करते। क्रोमड्राइवर.विन 32, सेलेनियम। क्रोम। वेबड्राइवर न्यूजेट के माध्यम से।

संबंधित मुद्दे