前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >phanbedder使用实例

phanbedder使用实例

作者头像
code4it
发布2018-09-17 14:51:11
5040
发布2018-09-17 14:51:11
举报
文章被收录于专栏:码匠的流水账码匠的流水账

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

代码语言:javascript
复制
    <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>

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

代码语言:javascript
复制
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

需要更换一下

代码语言:javascript
复制
<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>

验证

代码语言:javascript
复制
        //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
  • Cannot use PhantomJS with selenium-java 2.44.0 #8088
  • selenium webdriver的各种driver
  • 数据抓取的艺术(一):Selenium+Phantomjs数据抓取环境配置
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-08-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码匠的流水账 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Selenium以及Phantom JS
  • maven
  • 验证
  • doc
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档