selenium库是一个游览器的自动工具
这个库对很多语言都支持比如 JAVA/Python/c#
最开始接触也就是因为在github上找了下抢票软件,有个人用python写,实际也就是模拟人工刷票,只不过它是利用这个库然后半自动刷票
但是bug还挺多的,刷不了几次就停了。
然后就去了解了一下这个库,今天学习使用了一下。
之前我利用Jsoup写的爬虫去爬了一下POJ的解题代码,到最后的解题数也只有1100道,主要就是爬的是博客园的代码,博客园的很多代码前面都有行数,我用正则表达式去掉了一些,但是有些还是会错误的去掉其他的,也因为正则匹配写的不是太好。
这个selenium其实用来写爬虫还是很方便的一个东西,因为Jsoup只能爬取静态网页,而不能爬取动态网页和一些复杂的东西。
一、
去官网下载所需要的selenium库和你游览器所对应的驱动版本
比如说chrome游览器你就要去找chromedrive (这两个的版本有个对应表,查到对应表然后下载比如说chrome64+的chrome就是2.35)
二、
一个简单的例子
1 public class test { 2 public static void main(String[] args) { 3 //打开chromedriver这个程序. 4 System.setProperty("webdriver.chrome.driver","H:\\12306\\chromedriver.exe"); 5 WebDriver webdriver = new ChromeDriver(); //webdrive就是对应的这个游览器。 6 7 WebElement kw = webDriver.findElement(By.id("kw")); 8 kw.sendKeys("selenium");//填写信息 9 WebElement su = webDriver.findElement(By.id("su"));//By.id是定位元素的id,也可以是tagname之类的。 10 su.click(); 11 //点击按钮 12 List<WebElement> s = webdriver.findElements(By.xpath("/html/body/div[1]/div[1]/div")); 13 //这个通过xpath来定位元素 14 } 15 }
xpath即为XML路径语言,可以用来定位网页里的元素的位置,用起来很强大
在chrome在F12那里导出xpath的路径。
一个中文的webdrive的网站