任何人都可以在seleniumhq.org上描述不同的jar文件

时间:2016-12-29 10:31:15

标签: selenium-webdriver

Library File

任何人都可以解释ob上面的路径,使用哪个zip文件。我刚刚开始使用Selenium。请您解释哪个用于哪个目的。这对初学者来说更好

1 个答案:

答案 0 :(得分:1)

Selenium Webdriver用于自动化Web应用程序。每个罐子都有2个版本,2.53.0&给定链接中的2.53.1。我建议总是选择最新的稳定版本(最新的3.0版本)。 WebDriver的所有实现(FirefoxDriver,ChromeDriver等)都使用JsonWireProtocol与浏览器进行通信。

每个罐子的描述如下:

  1. selenium-java-2.53.1.zip:WebDriver的客户端绑定。用于编写在本地计算机上运行的脚本。提供Java API。所以,如果你想在本地机器上使用Java自动化浏览器,你应该下载并把它放在PATH中,这样你的代码就可以访问它们。在Eclipse中,您将其保存在Right click on Project -> Properties -> Java Build path -> Add External Jars -> select the jar -> Apply -> Ok
  2. selenium-server-standalone-2.53.0.jar:WebDriver的服务器端绑定。用于编写在远程计算机上运行的脚本。如果你想使用Java和Linux自动化浏览器在远程计算机上运行脚本,您应该下载并将其放在PATH中,以便您的代码可以访问它们。
  3. selenium-dotnet-2.53.0.zip:与selenium-java-2.53.1.zip相同,但提供dotnet api。选择此项如果要在dotnet中编写脚本。类似地,可以使用特定于语言的绑定来编写脚本。例如:python,ruby,javascript等。无论用于构建Web应用程序的语言如何,您都可以选择自己的语言绑定。
  4. IEDriverServer_x64_2.53.0.zip:自动执行Internet Explorer浏览器所必需的。它充当代理黑客客户端绑定和实际浏览器。注意:每个浏览器都有自己的.exe文件。对于Firefox,它是geckodriver.exe,对于chrome,它是chromedriver.exe,对于safari,它是SafariDriver。此zip文件适用于64 bit操作系统。还有32 bit版本,其名称为IEDriverServer_Win32_2.53.0.zip。所以,根据机器的位版本选择。另外,请将这些.exe文件保存在System Path中,以便可以选择它们。
  5. selenium-server-2.53.0.zip:用于在网格中运行脚本。即,在多台机器上并行运行脚本。
  6. 假设您要开始使用Java for chrome浏览器编写脚本,您需要关注以下jar:selenium-java-2.53.1.zip& chromedriver.exe

    示例代码:

    import org.openqa.selenium.By;
    import org.openqa.selenium.Capabilities;
    import org.openqa.selenium.Keys;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.WebElement;
    import org.openqa.selenium.chrome.ChromeDriver;
    import org.openqa.selenium.firefox.FirefoxDriver;
    import org.openqa.selenium.remote.RemoteWebDriver;
    
        public class SeleniumExample{
    
            public static void main(String[] args) throws Exception {
                System.setProperty("webdriver.chrome.driver","C:\\Python27\\chromedriver.exe"); // you can also keep the .exe file in System Path to avoid this line.
                WebDriver driver = new ChromeDriver();//launches chrome browser
                driver.get("http://www.google.com");
                driver.quit();
            }
        }
    

    注意:编写脚本后,可以通过创建该浏览器WebDriver实现的对象在不同浏览器上运行相同的脚本,并且其余代码保持不变

    可以说,现在你想在Firefox上运行脚本,

    示例代码:

    import org.openqa.selenium.By;
    import org.openqa.selenium.Capabilities;
    import org.openqa.selenium.Keys;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.WebElement;
    import org.openqa.selenium.chrome.ChromeDriver;
    import org.openqa.selenium.firefox.FirefoxDriver;
    import org.openqa.selenium.remote.RemoteWebDriver;
    
        public class SeleniumExample{
    
            public static void main(String[] args) throws Exception {
                System.setProperty("webdriver.gecko.driver","C:\\Python27\\geckodriver.exe"); // you can also keep the .exe file in System Path to avoid this line.
                WebDriver driver = new FirefoxDriver(); // only this line changes, launches firefox browser
                driver.get("http://www.google.com"); //remaining code is same
                driver.quit();
            }
        }
    

    参考文献:

    1. http://www.seleniumhq.org/download/
    2. http://www.seleniumhq.org/projects/webdriver/
    3. https://www.w3.org/TR/webdriver/
    4. https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol