次の依存関係とChromeを開くためのコードを追加しますが、ブラウザーが開きません。
<dependency>
<groupId>org.seleniumhq.Selenium</groupId>
<artifactId>Selenium-chrome-driver</artifactId>
<version>2.50.0</version>
</dependency>
私のコード:-
package example;
import org.openqa.Selenium.WebDriver;`
import org.openqa.Selenium.chrome.ChromeDriver;
import org.testng.annotations.Test;
public class DepChrome {
@Test
public void testBrowser() {
WebDriver driver = new ChromeDriver();
driver.manage().window().maximize();
}
}
以下の依存関係を以下のように追加します。
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>3.0.0</version>
<!-- <scope>test</scope> -->
</dependency>
ソース:以下のURLから新しい依存関係バージョンをコピーします。
https://mvnrepository.com/artifact/io.github.bonigarcia/webdrivermanager
以下のコードを使用してください:
WebDriver driver = null;
WebDriverManager.chromedriver().version("77.0.3865.40").setup();
ChromeOptions options = new ChromeOptions();
options.addArguments("start-maximized");
options.addArguments("enable-automation");
options.addArguments("--no-sandbox");
options.addArguments("--disable-infobars");
options.addArguments("--disable-dev-shm-usage");
options.addArguments("--disable-browser-side-navigation");
options.addArguments("--disable-gpu");
driver = new ChromeDriver(options);
driver.get("https://www.google.com/");
基本的に、特定のバージョンをダウンロードするためのコードの下のコード行の下にトリックがありました
WebDriverManager.chromedriver().version("77.0.3865.40").setup();
以下のURLから取得できる必須バージョン:
https://chromedriver.storage.googleapis.com/index.html
上記のchromedriver URLに存在する最新の依存関係を探している場合は、上記の代わりに以下のコードを使用することもできます
WebDriverManager.chromedriver().setup();
OR(古い方法)
以下のようにchrome binaryのパスを指定する必要があります。
System.setProperty("webdriver.chrome.driver", "C:\\pathto\\my\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("http://www.google.com");
以下のようにSeleniumサイトからchromeのバイナリをダウンロードします:- http://chromedriver.storage.googleapis.com/index.html?path=2.21/
次に、Seleniumへのバイナリのパスを次のように指定します。
System.setProperty("webdriver.chrome.driver", "C:\\pathto\\my\\chromedriver.exe");
もう一つ注意があります。 Windowsを使用している場合はバックスラッシュ\\
を使用し、macまたはlinuxを使用している場合はパスの設定にスラッシュ//
を使用します。
それがあなたを助けることを願っています:)
2つの方法があります。
最も簡単な方法は、この場所からchromedriverをダウンロードすることです
次に、プロジェクトにソースフォルダーを作成します。 (例:BrowserDrivers)、ダウンロードしたライブラリをこれに追加します。
次に、setPropertyコマンドを次のように使用して、自動化スクリプトでchromeドライバーパスを設定します。
System.setProperty("webdriver.chrome.driver", "BrowserDrivers/chromedriver.exe");
しかし、別の方法があります。これは、Mavenビルドにより適しています。次の依存関係をPOM.xmlファイルに追加します。
2つの依存関係があります。 Chromeドライバー用。ただし、chromeドライバーの依存関係を使用するには、webdrivermanagerの依存関係を追加する必要があります。これは、ブラウザードライバーの必須の依存関係です。そのため、常に両方を追加する必要があります。詳細については、このリンクを参照してください Github Webdriverマネージャーリンク
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>2.2.5</version>
</dependency>
chromeドライバーの依存関係も追加します。
<dependency>
<groupId>org.seleniumhq.Selenium</groupId>
<artifactId>Selenium-chrome-driver</artifactId>
<version>2.50.0</version>//Your chrome driver version
</dependency>
次に、自動化スクリプトでSystem.setPropertyコマンドの代わりにこの行を使用して、chromeドライバーを宣言します。
ChromeDriverManager.getInstance().setup();
UPDATE:ChromeDriverManagerの使用は非推奨 、代わりにこれを使用:
import static io.github.bonigarcia.wdm.DriverManagerType.CHROME;
import org.openqa.Selenium.WebDriver;
import org.openqa.Selenium.chrome.ChromeDriver;
import io.github.bonigarcia.wdm.WebDriverManager;
WebDriverManager.getInstance(CHROME).setup();
以下のコードを確認してください-
package example;
import org.openqa.Selenium.WebDriver;
import org.openqa.Selenium.chrome.ChromeDriver;
import org.testng.annotations.Test;
import io.github.bonigarcia.wdm.WebDriverManager;
public class DepChrome {
@Test
public void testBrowser() {
WebDriver driver;
WebDriverManager.chromedriver().setup();
driver = new ChromeDriver();
driver.get("https://google.com");
String title = driver.getTitle();
System.out.println(title);
driver.quit();
}
}
次の2つのMaven依存関係により、システムプロパティを設定する必要はまったくありません。これは動作するはずです。
<!-- https://mvnrepository.com/artifact/io.github.bonigarcia/webdrivermanager -->
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>${webdriver-manager.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.seleniumhq.Selenium/selenium-chrome-driver -->
<dependency>
<groupId>org.seleniumhq.Selenium</groupId>
<artifactId>Selenium-chrome-driver</artifactId>
<version>${Selenium-chrome-driver}</version>
</dependency>
WebDriver driver;
@BeforeSuite
public void setUp(){
WebDriverManager.chromedriver().setup();
driver = new ChromeDriver();
driver.get("http://www.ebay.in");
driver.manage().timeouts().implicitlyWait(5000, TimeUnit.MILLISECONDS);
}
Mavenで、ChromeDriver.exe
を使用して:
import static io.github.bonigarcia.wdm.DriverManagerType.CHROME;
import org.openqa.Selenium.WebDriver;
import org.openqa.Selenium.chrome.ChromeDriver;
import org.openqa.Selenium.firefox.FirefoxDriver;
import io.github.bonigarcia.wdm.WebDriverManager;
import org.testng.annotations.Test;
public class MavenTest {
@Test
public void TestMaven()
{
System.setProperty("webdriver.chrome.driver", "D:\\Sumit_Backup\\Automation\\Workspace\\Maven\\src\\Browser\\chromedriver.exe");
WebDriver driver= new ChromeDriver();
driver.get("http://testng.org/doc/maven.html");
driver.manage().window().maximize();
}
}