官方檔案:https://www.selenium.dev/documentation chromedriver下載地址:注意:需要下載與瀏覽器匹配版本的 http://chromedriver.storage.googleapis.com/index.html http://npm.taobao.org/mirrors/chromedriver/
第一步:匯入依賴包
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.7.1</version>
</dependency>
注意這里的 version 不建議用最新版本,容易出現兼容性問題,https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java
建議使用 3.141.59 ,大家都覺得好,那肯定不會錯
??第二步:Java 代碼示例
代碼示例:
public static void main(String[] args) throws InterruptedException {
//獲取專案路徑
String path = Thread.currentThread().getContextClassLoader().getResource("").getPath();
// 設定系統標識,因為 chromedriver.exe 存放在 resources\plugins\目錄下
System.setProperty("webdrive.chrom.drive", path+"plugins\\chromedriver.exe");
//獲取Chrome 瀏覽器的驅動
WebDriver driver = new ChromeDriver();
// 打開一個網址
driver.get("https://wwww.baidu.com");
// 八種獲取元素的方法id,name,className,tagName,linkText,partialLinkText,cssSelector,xpath
WebElement element;
// ********************【ID 選擇器1】********************************
element = driver.findElement(By.id("kw")); // 根據屬性Id獲取 百度搜索框
element.sendKeys("selenium"); // 搜索框中填充搜索內容
// ********************【Name 選擇器2】******************************
driver.findElement(By.name("wd")).sendKeys("3355"); //根據屬性name獲取
// 一個元素多次 呼叫 sendKeys,值會累加,如上會顯示為:selenium3355
// 可以呼叫 clear() 方法
driver.findElement(By.name("wd")).clear(); //清除
// driver.manage().window() // 對瀏覽器視窗的一些操作
driver.manage().window().maximize(); //視窗最大化
// ********************【className 選擇器3】*************************
//根據屬性className獲取【百度一下】按鈕,class之間不能有空格,但可以只用部分class
//element = driver.findElement(By.className("s_btn"));
//element.submit(); //提交搜索【百度一下】按鈕的id 為 su
// ********************【linkText 選擇器4】****************************
// element = driver.findElement(By.linkText("更多")); //根據linkText獲取
// element.click();
// ********************【partialLinkText 選擇器5】**********************
element = driver.findElement(By.partialLinkText("更")); // 根據部分linkText獲取
System.out.println(element.getText());
// ********************【cssSelector 選擇器6】***************************
element = driver.findElement(By.cssSelector("#kw")); //根據css選擇器獲取
System.out.println("selenium3355".equals(element.getText()));
element.sendKeys(" 這是 xpath 的輸出 ");
// ********************【xpath 選擇器7】*********************************
element = driver.findElement(By.xpath("//*[@id='kw']")); // 根據xpath 獲取
element.sendKeys(" 這是 xpath 的 element 賦值");
// ********************【tagName 選擇器8】*******************************
List<WebElement> elements = driver.findElements(By.tagName("button")); // 根據tagName獲取
System.out.println("這是tagName獲取到的內容" + (elements!=null?"獲取到"+elements.size()+"個":"沒有獲取到") + "節點");
Thread.sleep(5*1000);//為了看效果,5秒中后關閉
// close 只是關閉視窗,quit 關閉視窗并關閉行程
// driver.close();
driver.quit();
}
【啰嗦一下】:
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/539982.html
標籤:Java
