phanbedder使用实例

PhantomJS是个好东东,很多时候爬虫需要用到,但是这个有windows、linux、mac的版本,想要跨平台的话,需要自己再处理一下,幸好有了phanbedder帮我们做了这个事情,这样就引一下jar包就完事了。

Selenium以及Phantom JS

Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE、Mozilla Firefox、Chrome等。

Phantom JS是一个服务器端的 JavaScript API 的 WebKit。其支持各种Web标准: DOM 处理, CSS 选择器, JSON, Canvas, 和 SVG。

maven

    <dependency>       <groupId>net.anthavio</groupId>       <artifactId>phanbedder-2.1.1</artifactId>       <version>1.0.0</version>     </dependency>          <dependency>       <groupId>com.github.detro.ghostdriver</groupId>       <artifactId>phantomjsdriver</artifactId>       <version>1.1.0</version>     </dependency>

官网给的这个实际跑起来有点问题,报错

Caused by: java.lang.ClassNotFoundException: org.openqa.selenium.browserlaunchers.Proxies     at java.net.URLClassLoader.findClass(URLClassLoader.java:381)     at java.lang.ClassLoader.loadClass(ClassLoader.java:424)     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)     at java.lang.ClassLoader.loadClass(ClassLoader.java:357)     ... 29 more

需要更换一下

<dependency>             <groupId>net.anthavio</groupId>             <artifactId>phanbedder-2.1.1</artifactId>             <version>1.0.0</version>         </dependency>         <dependency>             <groupId>org.seleniumhq.selenium</groupId>             <artifactId>selenium-java</artifactId>             <version>2.45.0</version>         </dependency>         <dependency>             <groupId>com.codeborne</groupId>             <artifactId>phantomjsdriver</artifactId>             <version>1.2.1</version>             <!-- this will _always_ be behind -->             <exclusions>                 <exclusion>                     <groupId>org.seleniumhq.selenium</groupId>                     <artifactId>selenium-java</artifactId>                 </exclusion>                 <exclusion>                     <groupId>org.seleniumhq.selenium</groupId>                     <artifactId>selenium-remote-driver</artifactId>                 </exclusion>             </exclusions>         </dependency>

验证

        //Phanbedder to the rescue!         File phantomjs = Phanbedder.unpack();         DesiredCapabilities dcaps = new DesiredCapabilities();         dcaps.setCapability(PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY, phantomjs.getAbsolutePath());         PhantomJSDriver driver = new PhantomJSDriver(dcaps);         driver.setLogLevel(Level.INFO);         //Usual Selenium stuff...         driver.get("https://www.google.com");         WebElement query = driver.findElement(By.name("q"));         query.sendKeys("Phanbedder");         query.submit();          System.out.println(driver.getTitle());         driver.quit();

doc

脚本宝典为你提供优质服务
脚本宝典 » phanbedder使用实例

发表评论

提供最优质的资源集合

立即查看 了解详情