Как инициализировать браузер PhantomJS через Selenium Java - PullRequest
0 голосов
/ 25 апреля 2018

Я пытаюсь использовать phantomjsdriver в Java для создания Webspider.Я использую Selenium версии 3.11.0, PhantomJS 2.1.1 и версию phantomjsdriver 1.2.1.Когда я выполняю свой код, я получаю следующее сообщение об ошибке.

Исключение в потоке "main" java.lang.NoSuchMethodError: org.openqa.selenium.os.CommandLine.find (Ljava / lang / String;) Ljava / lang / String;

package Masterarbeit.Crawler;
import java.io.File;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.phantomjs.PhantomJSDriver;

public class Test {

    public String Test(){
        File path=new File("/usr/local/bin/phantomjs");
        System.setProperty("phantomjs.binary.path",path.getAbsolutePath());
        WebDriver driver = new PhantomJSDriver(); 
        return "successful";

    }
}

Моя ОС - Linux Mint 18 Сара, кто-нибудь знает причину этого?

1 Ответ

0 голосов
/ 25 апреля 2018

До нескольких дней назад PhantomJSDriver был выпущен в комплекте с selenium-server-standalone-vvvjar , поэтому мы смогли разрешить метод PhantomJSDriver() через import org.openqa.selenium.phantomjs.PhantomJSDriver; из selenium-server-standalone-xyzjar

Но теперь, selenium-server-standalone-v.v.v.jar не связывает jar для PhantomJSDriver зависимости. Таким образом, вы должны получить версию phantomjsdriver от (com.codeborne:phantomjsdriver:jar:1.4.4), которая, по-видимому, обновляется до последних выпусков селена.

Загрузите и добавьте phantomjsdriver-1.4.4.jar в ваш Проект .

Используйте следующий блок кода и выполните @Test:

import java.io.File;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.phantomjs.PhantomJSDriver;

public class phantomJS_launch {

    public static void main(String[] args) {


          File path=new File("C:\\Utility\\phantomjs-2.1.1-windows\\bin\\phantomjs.exe");
          System.setProperty("phantomjs.binary.path",path.getAbsolutePath());
          WebDriver driver= new PhantomJSDriver();
          driver.get("https://www.google.co.in");
          System.out.println(driver.getTitle());
          driver.quit();

    }

}

Важно : PhantomJSDriver() все еще разрешается через import org.openqa.selenium.phantomjs.PhantomJSDriver;

Консольный вывод:

Apr 25, 2018 9:24:16 PM org.openqa.selenium.phantomjs.PhantomJSDriverService <init>
INFO: executable: C:\Utility\phantomjs-2.1.1-windows\bin\phantomjs.exe
Apr 25, 2018 9:24:16 PM org.openqa.selenium.phantomjs.PhantomJSDriverService <init>
INFO: port: 25078
Apr 25, 2018 9:24:16 PM org.openqa.selenium.phantomjs.PhantomJSDriverService <init>
INFO: arguments: [--webdriver=25078, --webdriver-logfile=C:\Users\AtechM_03\LearnAutmation\Java_PhantomJS\phantomjsdriver.log]
Apr 25, 2018 9:24:16 PM org.openqa.selenium.phantomjs.PhantomJSDriverService <init>
INFO: environment: {}
[INFO  - 2018-04-25T15:54:19.809Z] GhostDriver - Main - running on port 25078
[INFO  - 2018-04-25T15:54:20.263Z] Session [ea9746f0-48a0-11e8-8b6b-f78193ae50b0] - page.settings - {"XSSAuditingEnabled":false,"javascriptCanCloseWindows":true,"javascriptCanOpenWindows":true,"javascriptEnabled":true,"loadImages":true,"localToRemoteUrlAccessEnabled":false,"userAgent":"Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/538.1 (KHTML, like Gecko) PhantomJS/2.1.1 Safari/538.1","webSecurityEnabled":true}
[INFO  - 2018-04-25T15:54:20.263Z] Session [ea9746f0-48a0-11e8-8b6b-f78193ae50b0] - page.customHeaders:  - {}
[INFO  - 2018-04-25T15:54:20.263Z] Session [ea9746f0-48a0-11e8-8b6b-f78193ae50b0] - Session.negotiatedCapabilities - {"browserName":"phantomjs","version":"2.1.1","driverName":"ghostdriver","driverVersion":"1.2.0","platform":"windows-8-32bit","javascriptEnabled":true,"takesScreenshot":true,"handlesAlerts":false,"databaseEnabled":false,"locationContextEnabled":false,"applicationCacheEnabled":false,"browserConnectionEnabled":false,"cssSelectorsEnabled":true,"webStorageEnabled":false,"rotatable":false,"acceptSslCerts":false,"nativeEvents":true,"proxy":{"proxyType":"direct"}}
[INFO  - 2018-04-25T15:54:20.264Z] SessionManagerReqHand - _postNewSessionCommand - New Session Created: ea9746f0-48a0-11e8-8b6b-f78193ae50b0
Apr 25, 2018 9:24:20 PM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: OSS
Google
[INFO  - 2018-04-25T15:54:22.023Z] ShutdownReqHand - _handle - About to shutdown

Здесь вы можете найти подробное обсуждение Как я могу определить свой класс из другой банки с такой же структурой, как у другого

...