selenium库

news/2024/7/19 9:17:47 标签: python, 爬虫, c#

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的路径。

 

 

http://www.webdriver.org/

一个中文的webdrive的网站

 

转载于:https://www.cnblogs.com/Tree-dream/p/8415921.html


http://www.niftyadmin.cn/n/717180.html

相关文章

如何在Altium Designer中将PCB生成PDF?

软件环境&#xff1a;Altium Designer Summer 09 1&#xff09;打开待处理的PCB的文件&#xff0c;选择菜单命令【File】|【Smart PDF…】&#xff0c;如下图所示&#xff1a; 2&#xff09;单击Next>&#xff0c;如下图所示&#xff0c;选择“Current Document”选项&…

Nacos配置的拉取以及热更新的实现

配置获取的步骤如下图所示&#xff1a; 将配置交给Nacos管理的步骤 ①在Nacos中添加配置文件②在微服务中引入nacos的config依赖③在微服务中添加bootstrap.yml&#xff0c;配置nacos地址、当前环境、服务名称、文件后缀名。这些决定了程序启动时去nacos读取哪个文件1.引入Nac…

Matlab微分进化算法及优化函数测试

微分进化&#xff08;Difference Evolution&#xff0c;DE&#xff09;算法是一种优化算法&#xff0c;据称其比GA&#xff08;遗传算法&#xff09;等更为优秀。 借鉴网上实现的DE算法&#xff0c;用Matlab实现了对若干函数优化问题的解法&#xff0c;代码如下&#xff1a; f…

node做验证码

使用了ccap插件 1、安装&#xff1a; 通用方法&#xff1a;npm install ccap 2、 cnst ccap require(ccap)({ width: 128, height: 40, offset: 30, quality: 100, fontsize: 35});3、页面代码 <input id"input_code" name"checkCode" c…

命令行编译Qt程序(nmake)

简述 前两节讲解了如何在Visual Studio和Qt Creator中搭建Qt开发环境&#xff0c;并分享了我们第一个小程序-Hello World。 下面分享如何使用命令行来编译Qt程序。当然&#xff0c;MSVC和MinGW的配置和编译过程相差无几。 简述编译Qt程序注意事项编译Qt程序 1、新建一个”Hello…

Altium Designer 6.0快捷键列表

表1. 原理图编辑器与PCB通用的快捷键 快捷键 相关操作 Shift 当自动平移时&#xff0c;加速平移 Y 放置元件时&#xff0c;上下翻转 X 放置元件时&#xff0c;左右翻转 Shift↑&#xff08;↓、←、→&#xff09; 在箭头方向以10个栅格为增量移动光标 ↑、↓、←、→…

Nacos服务注册-分级存储-负载均衡的配置

1.在工程中添加spring-cloud-alilbaba的管理依赖&#xff1a; <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>2.2.6.RELEASE</…

http协议及get和post的区别

1.1、HTTP协议的客户端与服务器的交互 HTTP是一个客户端和服务器端请求和应答的标准&#xff08;TCP &#xff09;。客户端是终端用户 &#xff0c;服务器端是网站 。通过使用Web浏览器、网络爬虫或者其它的工具&#xff0c;客户端发起一个到服务器上指定端口&#xff08;默认端…