java+selenium打開瀏覽器實現后台靜默運行


 簡介:java selenium搭建無界面瀏覽器

PhantomJS是一個基於Webkit的"無界面"(headless)瀏覽器,它會把網站加載到內存並執行頁面上的JavaScript,因為不會展示圖形界面,所以運行起來比完整的瀏覽器更高效。

1、https://phantomjs.org/download.html

下載windows版本phantomJS

2、解壓下載的文件,bin目錄下會有phantomjs.exe文件

將exe文件放入你的項目文件夾下(或者直接放在下載目錄也行,配置的時候路徑不要配錯就行)

我自己是放在項目下的driver文件夾下

 3、在pom.xml文件中配置所需要的jar包,首先需要在maven中找到phantomDriver,我選擇最新版本

 pom.xml文件配置:

<!-- https://mvnrepository.com/artifact/com.codeborne/phantomjsdriver -->
<dependency>
    <groupId>com.codeborne</groupId>
    <artifactId>phantomjsdriver</artifactId>
    <version>1.4.4</version>
</dependency>

4、測試代碼

package Day3;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.phantomjs.PhantomJSDriver;
import org.testng.annotations.Test;

public class PhantomjsTest {
//    后台打開瀏覽器,相當於最小化瀏覽器執行腳本
    @Test
    public void pjsTest() throws InterruptedException {
//   此處是加載phantomjs.exe配置,放在那里就寫哪里的路徑       
     System.setProperty("phantomjs.binary.path","G:\\javaTest\\drivers\\phantomjs.exe"); WebDriver driver = new PhantomJSDriver(); driver.get("http://www.baidu.com"); driver.findElement(By.id("kw")).sendKeys("phantomJS"); Thread.sleep(3000); // 獲取title String title = driver.getTitle(); System.out.println(title); driver.quit(); } }

 以上測試成功

 

ps:在成功之前遇到另一個坑,由於不太懂java代碼,運行測試代碼時報的錯java.lang.NoSuchMethodError,百度了很久。

終於找到了有用的信息“java.lang.NoSuchMethodError其實是java項目最常見的問題之一,一般是由於引用的jar包版本過低引起的”,然后我發現自己使用的phantomjsdriver的jar包版本(1.3.1)確實很低,后來在maven倉庫中找到了高本版的替換再運行就成功了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM