2016-11-23 16 views
6

Próbuję pobrać sterownik sieci web selenu za pomocą Eclipse i jestem na ostatnim etapie i pomyślnie zaimportowany sterownik sieci, jednak gdy próbuję zrobić to samo dla firefox nie dostaję opcja importu. Jakieś sugestie? Czy jest coś nie tak z poniższym kodem?przeszkoda montażowa selenu "importfirefoxdriver"

Kod:

package webdriver_project; 

import org.openqa.selenium.WebDriver; 

public class webdriver_module_1 { 
    public static void main(String[] args) { 
     WebDriver driver = new firefoxDriver(); 
    } 

} 

Odpowiedz

2

Jeśli używasz Firefoksa w wersji 48 lub nowszej, należy najpierw pobrać Marionette Kierowca:
https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette/WebDriver
Wybierz wersję odpowiednią dla danego systemu (Windows/Linux, 32 lub 64-bitowy), pobierz i zaktualizuj zmienną systemową Path, aby dodać pełną ścieżkę katalogu do pliku wykonywalnego.
Zobacz oficjalną informację w changelogu: https://github.com/SeleniumHQ/selenium/blob/master/dotnet/CHANGELOG

Geckodriver jest teraz domyślnym mechanizmem do automatyzacji Firefox. To jest implementacja sterownika Mozilli dla tej przeglądarki, i jest wymagana do automatyzacji Firefoksa w wersjach 48 i nowszych.


Nie jestem pewien, jak można pobrać za pomocą selen zaćmienie. Czy pobrałeś biblioteki (słoiki) ze swojej strony i umieściłeś je ręcznie jako zewnętrzne słoje w opcji Eclipse przy użyciu Java Build Path/Biblioteki?

W każdym razie, moim zdaniem najprostszym sposobem jest konwersja projektu do projektu Maven:

  • najpierw zainstalować wtyczkę Maven używając opcji Eclipse Marketplace: http://www.eclipse.org/m2e/
  • następny prawym przyciskiem myszy na projekcie w Eclipse, a następnie wybierz projekt Configure/Convert to Maven. Następna edycja pom.xml plik i dodać do niej zależność od strony Selen: http://docs.seleniumhq.org/download/maven.jsp

    <dependency> 
        <groupId>org.seleniumhq.selenium</groupId> 
        <artifactId>selenium-java</artifactId> 
        <version>3.0.1</version> 
    </dependency> 
    

Cała zawartość pom.xml w moim przykładzie projektu:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>WebKierowca</groupId> 
    <artifactId>WebKierowca</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <build> 
     <sourceDirectory>src</sourceDirectory> 
     <plugins> 
      <plugin> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>3.5.1</version> 
       <configuration> 
        <source>1.8</source> 
        <target>1.8</target> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 
    <dependencies> 
     <dependency> 
      <groupId>org.seleniumhq.selenium</groupId> 
      <artifactId>selenium-java</artifactId> 
      <version>3.0.1</version> 
     </dependency> 
    </dependencies> 
</project> 

Wreszcie utworzyć poniższego klasy java, zmiana ścieżkę wskazującą na sterownik Marionette (geckodriver.exe), kliknij prawym przyciskiem myszy tę klasę i uruchom ją jako aplikację Java. Jeśli wszystko jest w porządku, powinna uruchomić Firefoksa, przejść do strony google, wyszukać słowo "selen" i wyświetlić wyniki wyszukiwania przez 5 sekund:

import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.firefox.FirefoxDriver; 

public class Test { 

    public static void main(String ... x){ 
     // Path to Marionette driver 
     System.setProperty("webdriver.gecko.driver", "C:/serwery/geckodriver.exe"); 

     WebDriver driver = new FirefoxDriver(); 

     driver.get("http://www.google.com"); 

     driver.findElement(By.name("q")).sendKeys("Selenium"); 
     driver.findElement(By.name("btnG")).click(); 

     try { 
      Thread.sleep(5000); 
     } catch (InterruptedException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     driver.quit(); 
    } 
} 
+0

Dzięki! Zadziałało! –