python selenium_趣说Python爬虫07--Selenium的简单使用

afd4d4bc0c844f6db1aee5592244c3ac
1ef0997121294194836bd4ec6abdec70

上回我们说到Python大星

通过Ajax数据爬取头条主页文章

6da229caf6644c618b3b4737a2a8cb34

不知各位英兄豪姐有没有发现

有些Ajax 接口含有很多加密参数

16959212b4a54d90b2652f7db871895f

参数规律讳莫如深

Ajax数据抓取障碍重重

82e9cf295f3240e2997daee1e1a7c531

终于到了这个时刻

c242dcc428a04d79901a4b1dd65ad8da

Python大星祭出《Se至尊神诀》

7cce935ef3a74d798df8e12efd9357ba

竟然没听说《Se至尊神诀》

传说在“爬虫大陆”

当时主流商业化自动工具

其名曰:“QTP mercury”

mercury 本意是化学元素汞,俗称“水银”

776b516c49684c11bc2c6685078445dc

直到有一天...

a2045df35d654d8bb905d9ef93b9d5c7

雷电交加、风雨大作

天地为之昏暗

有蛟龙自天外破窗而入

盘旋于产床之上

已而,魔丸降生

取名曰:“Selenium”

Selenium本意是“硒”

e4f74621685d4e569167deb115765f88

“硒”--解毒神器

重金属有很强的亲和力,在体内可结合形成无毒的金属硒蛋白

你不是mercury,很“汞”吗?

我用“硒”来对抗“汞”

作为开源的自动化工具

giao,giao,giao

07794717854e4913a0c99b42d9f06315

欲学《Se至尊神诀》

三步奠基...

cc299af3668f40fa82106dd4d5a780e3

谷歌浏览器Chrome

c3820409ef564b2b928bab5c4662c74a
616449c801384fd89cbd8f61fea8055d

Python大星的Chrome版本

74.0.3729.108(正式版本) (64 位)

浏览器驱动ChromeDriver

ChromeDriver与Chrome版本对应参照表

28e493f910944cc1b033e3f76b9d8aa8

可以看到ChromeDriver2.46版本后

Chrome版本“门当户对”

4e3964e658a44c30b48f39ce6962eae6
4d53204794264a13ba3029e10e632af0
856feb016c12405abfaa355affa1305a

下载完

解压后的chromedriver.exe文件放入

chrome文件路径

&

Python安装目录

e5c0fecde3f849cd8c9d8f7a0763abbf

图1

729033ae8bea40c3bd90953adf0be499

图2

配置环境变量:

我的电脑>属性>高级>环境变量

a7975546333d452fae02b07f48de1d62

安装Selenium库

pip install selenium

ac284a210dba4bc1aa2473e10761a752

试炼开始

看看你基础扎不扎实

运行代码后发现,会自动弹出一个 Chrome 浏览器

a0bcfa8b1ee049fcb6e2e042a266ef1a
c65bba8bf8c942a9a200d1159ec5c7c1

如果你还没看到这个页面...

f453bc8f45b3492495ecf055c47f4404
211ba529ab55487cb9759bcbd2e5344f

声明浏览器browser对象

Selenium支持的浏览器Chrome、Firefox、Edge

92242e53787249cd828fb24322794ba9

访问页面

282c9842d1364f2abe4453a3c059a239

查找网页HTML节点

领悟部分《Se至尊神诀》

我们知道selenium能驱动浏览器完成各种操作

f2ee1922eaa9424b98417612c395553e

前提我们得找到这些节点

“对症下药”

b8f84a25f027491b8c20c5a1ecd9eaca

我劝你“善良”

ede4c4cf4c3345aba87a0bc310681f06

我劝你学点前端基础 >>>

HTML+CSS+JS 三件套

在《Se至尊神诀》中

获取HTML节点主要分2种情况

● 单节点

02885ef7a95f4f4aa817bc33091f9955

Python大星一般选择通用方法比较灵活

find_element_by_id(id) 就等价于 find_element(By.NAME,name)

看源码

3b6996baf87e4d8c9259c1aed928a47d

● 多节点

element变为复数elements

返回list类型

find_elements_by_name(name) 就等价于 find_elements(By.NAME, name)

8f1fa21d477645fba827f8aef44f13ad

常见的浏览器交互场景

文本框输入

点击

清除文本框文本

在selenium下是如何实现的呢?

看Python大星小试牛刀

53682a61e78b4cedba6857af87e9488d

某些操作,selenium API 并没有提供

金无足赤,人无完人

但是!!!

它可以模拟运行JavaScript

4310f906df884b6589a414b6f99adcc9
590b847b3ac4495aaea37a1b3343fee5

实现竖向进度条滑动到底端

10ef02f87e6d4261b1d1cc14e14593f3
c5b19e17e31e4212b68fba8356e7a276
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值