【问题标题】:Web Surfing/Browser Automation网上冲浪/浏览器自动化
【发布时间】:2011-09-15 20:11:33
【问题描述】:

我正在创建一个在互联网上运行、登录网站帐户和发布内容的 Java 程序。例如。运行程序 -> Tumblr -> 发布“Helow World” -> 退出 Tumblr。

我目前正在使用 Robot 类来执行此操作...http://download.oracle.com/javase/6/docs/api/java/awt/Robot.html

但展望未来,我看到了令人生畏的未来(网页更新会使程序崩溃,因为它基于坐标、鼠标点击和键盘。)

有什么方法可以实现网络浏览器自动化吗? (例如浏览网站、填写表格等)(最好使用 Java、python、C++ 或 php)

【问题讨论】:

    标签: java browser automation


    【解决方案1】:

    Selenium 是您所需的绝佳选择。您不仅可以用 java(以及许多其他语言)为其编写脚本,还可以安装浏览器插件并让它记录您的操作以快速学习它的语法。

    http://seleniumhq.org/

    【讨论】:

    • Selenium 下面是 WebDriver,它是实际的浏览器控制部分。那有一个很好的Java API;如果你是一名程序员,直接使用它可能比通过 Selenium 更容易。
    【解决方案2】:

    Watij 是一个基于 Java 的 Web 测试框架,将驱动 Web 浏览器。虽然名义上是为了测试,但它可以做你想做的事。您可以智能地搜索按钮/控件来驱动,并且由于它控制浏览器,所有客户端功能(脚本等)都将被正确触发。

    【讨论】:

    • 我想知道,它是否也能够进行页面导航@Brian?不破坏目标 Web 功能上的任何 javascript?
    【解决方案3】:

    你也可以试试 JExplorer Teamdev: Jexplorer。但它不是免费的,除非您是学生或在开源社区工作。这个工具使用swings来模拟Internet Explorer。 Watij 基于 JExplorer

    【讨论】:

      【解决方案4】:

      您可以使用 HTMLUnit 编写 java 代码来模拟浏览器的使用。

      下载jar文件到:http://www.java2s.com/Code/Jar/h/Downloadhtmlunit211jar.htm

      开始于: http://htmlunit.sourceforge.net/gettingStarted.html

      【讨论】:

        【解决方案5】:

        我想有一个和你一样的程序在网上冲浪。

        我在铬中使用了硒。如果你想使用 selenium,你必须从http://www.seleniumhq.org/download/ 下载最新版本并在 netbeans 中实现或 eclipse jar 文件。 (Selenium 客户端和 WebDriver 语言绑定,Selenium 独立服务器) 在此之后,您必须从 google https://sites.google.com/a/chromium.org/chromedriver/ 下载 - chrome 驱动程序也是最新版本,提取文件并保存在您的电脑上。 这是我使用的代码:

        package teszt;
        
        import org.openqa.selenium.By;
        import org.openqa.selenium.WebDriver;
        import org.openqa.selenium.chrome.ChromeDriver;
        
        public class Teszt {  
            public static void main(String[] args) {
        String exePath = "C:\\Users\\Magor\\Downloads\\chromedriver.exe";
                System.setProperty("webdriver.chrome.driver", exePath);
                WebDriver driver = new ChromeDriver();
                driver.get("http://www.google.com");
        }}
        

        【讨论】:

          猜你喜欢
          • 2012-05-14
          • 2017-08-09
          • 1970-01-01
          • 2020-10-22
          • 2021-02-23
          • 2013-09-23
          • 2013-09-03
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多