Python 第三方模块之 selenium - 模拟操作 Chrome 浏览器

1、安装selenium

1.1、Python 安装 selenium 模块

1
pip install selenium

1.2、下载驱动

选择和自己chrom版本相对应的驱动到本地,下载地址:http://npm.taobao.org/mirrors/chromedriver/

2、Python 操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
from selenium import webdriver
import time
import json


# 创建Chrome对象,需要先下载驱动。
driver = webdriver.Chrome('D:\home\chrom\chromedriver.exe')
driver.maximize_window()

# 操作这个对象.
driver.get('https://baidu.com') # get方式访问
time.sleep(5)

# 刷新页面
driver.get(driver.current_url) # 重新获取页面也可以算是刷新
driver.refresh()

# 通过 xpath 获取元素
el = driver.find_element_by_xpath("//input[@type='text']")
# 输入
el.send_keys('***********')

# 通过 id 获取元素
el = driver.find_element_by_id("submit-login")
# 点击
el.click()

# 通过 class_name 获取元素
el = driver.find_element_by_class_name("shadow-close")
el.click()

# 获取网站cookie
diccookie=driver.get_cookies()
fw=open('cookie.txt','w')
json.dump(diccookie,fw)
fw.close()

# 使用 cookie
fr=open('cookie.txt','r')
cookielist=json.load(fr)
fr.close()
for cookie in cookielist:
driver.add_cookie(cookie)

# 保存截图到本地
driver.get_screenshot_as_file('foo.png')

# 滚动到浏览器顶部
js_top = "var q=document.documentElement.scrollTop=0"
# 滚动到浏览器底部
js_bottom = "var q=document.documentElement.scrollTop=10000"
js_bottom2 = "window.scrollTo(0,document.body.scrollHeight)"
# 应用js
driver.execute_script(js_top)

# 使用完, 记得关闭浏览器, 不然chromedriver.exe进程为一直在内存中.
driver.quit()

Python 第三方模块之 selenium - 模拟操作 Chrome 浏览器
https://flepeng.github.io/021-Python-31-Python-第三方模块-Python-第三方模块之-selenium-模拟操作-Chrome-浏览器/
作者
Lepeng
发布于
2021年4月27日
许可协议