Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 网页浏览/浏览器自动化_Java_Browser_Automation - Fatal编程技术网

Java 网页浏览/浏览器自动化

Java 网页浏览/浏览器自动化,java,browser,automation,Java,Browser,Automation,我正在创建一个Java程序,该程序可以在互联网上运行,登录到网站帐户并发布内容。例如,运行程序->Tumblr->发布“Helow World”->注销Tumblr 我目前正在使用Robot类来做这件事 但展望未来,我看到了一个令人望而生畏的未来(网页更新将使程序崩溃,因为它基于坐标、鼠标点击和键盘。) 有什么方法可以实现web浏览器自动化吗?(例如,浏览网站、填写表单等)(最好是在java、python、C++或php)是一个基于java的Web测试框架,它将驱动Web浏览器。虽然它名义上是用

我正在创建一个Java程序,该程序可以在互联网上运行,登录到网站帐户并发布内容。例如,运行程序->Tumblr->发布“Helow World”->注销Tumblr

我目前正在使用Robot类来做这件事

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


有什么方法可以实现web浏览器自动化吗?(例如,浏览网站、填写表单等)(最好是在java、python、C++或php)

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

Selenium是一个很好的选择,正好满足您的需要。您不仅可以用java(以及许多其他语言)为其编写脚本,还可以安装浏览器插件并让它记录您的操作,以快速了解其语法


您也可以试试JExplorer。但这不是免费的,除非你是一名学生或在开源社区工作。此工具使用Swigs来模拟Internet Explorer。Watij基于JExplorer

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

下载jar文件,网址为:

开始于:

为什么我想有一个和你一样的上网程序

我在铬中使用硒。如果您想使用selenium,您必须从下载最新版本,并在neatbeans或eclipse中实现jar文件。 (Selenium客户端和WebDriver语言绑定,Selenium独立服务器) 在此之后,你必须从谷歌下载——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");
}}

Selenium下面是WebDriver,它是实际的浏览器控制部分。有一个好的javaapi;如果你是一名程序员,那么直接使用它可能比通过Selenium更容易。我想知道,它是否也能够在@Brian处进行页面导航?不破坏目标web功能上的任何javascript?