我正在创建一个可以上网的Java程序,登录网站帐户并发帖。例如。运行程序 - > Tumblr - >发布“Helow World” - >退出Tumblr。
我目前正在使用Robot类来执行此操作... http://download.oracle.com/javase/6/docs/api/java/awt/Robot.html
但是展望未来,我看到了一个令人生畏的未来(网页更新会使程序崩溃,因为它基于坐标,鼠标点击和键盘。)
有没有我可以做网页浏览器自动化? (例如,浏览网站,填写表格等)(最好是Java,python,C ++或php)
答案 0 :(得分:9)
Selenium是您需要的绝佳选择。您不仅可以在java(以及许多其他语言)中编写脚本,还可以安装浏览器插件并记录您的操作以快速了解它的语法。
答案 1 :(得分:2)
Watij是一个基于Java的Web测试框架,它将驱动Web浏览器。虽然它名义上是用于测试,但它可以做你想要的。您可以智能地搜索按钮/控件来驱动,并且因为它控制着浏览器,所以客户端功能(脚本等)都将被正确触发。
答案 2 :(得分:2)
您也可以尝试JExplorer Teamdev: Jexplorer。但除非您是学生或在开源社区工作,否则它不是免费的。此工具使用swing来模拟Internet Explorer。 Watij基于JExplorer
答案 3 :(得分:1)
您可以使用HTMLUnit编写java代码来模拟浏览器使用情况。
下载jar文件:http://www.java2s.com/Code/Jar/h/Downloadhtmlunit211jar.htm
答案 4 :(得分:0)
我想拥有一个与你在互联网上冲浪的程序。
我在铬中使用了硒。如果你想使用selenium,你必须从http://www.seleniumhq.org/download/ ---最新版本下载并在neatbeans中实现或者删除jar文件。 (Selenium客户端和WebDriver语言绑定,Selenium独立服务器) 在此之后你必须从谷歌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");
}}