1、 安装Selenium
使用Selenium WebDriver需要先安装需要安装Selenium库,安装使用的pip在命令如下,
pip install selenium
2、安装浏览器驱动程序
Selenium WebDriver需要特定浏览器的驱动程序,使用的浏览器来下载相应的驱动程序,以便后续在代码中引用。
下载地址:
3、页面标题和内容
使用Selenium WebDriver的简单使用示例,实现获取指定url的标题和网页代码,如下,
from selenium import webdriver
# 初始化浏览器驱动程序,路径替换成上面地址下载的Chrome驱动程序路径
driver = webdriver.Chrome(executable_path='/path/to/chromedriver')
#driver = webdriver.Firefox(executable_path='/path/to/geckodriver')
#driver = webdriver.Edge(executable_path='/path/to/msedgedriver')
# Safari 浏览器需要菜单栏点击Safari 浏览器->偏好设置 ->高级 ->勾选-在菜单栏中显示“开发”菜单 中
# 打开允许远程自动化
#driver = webdriver.Safari()
# 打开网页
driver.get('https://www.example.com') # 替换为你要测试的网页地址
# 执行一些操作,例如查找元素、点击按钮、输入文本等
# 例如,查找页面中的元素并点击:
# element = driver.find_element_by_id('element_id')
# element.click()
# 等待一段时间,让页面加载完成
driver.implicitly_wait(10) # 等待10秒,可以根据需要调整等待时间
# 获取页面标题和网页代码
page_title = driver.title
page_source = driver.page_source
# 打印页面标题和内容
print('Page Title:', page_title)
print('Page Source:', page_source)
# 关闭浏览器
driver.quit()
4、网页截图
使用Selenium WebDriver 获取指定网页截图,如下,
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
# 指定WebDriver驱动文件的路径
driver_path = '/path/to/chromedriver' # 路径替换成上面地址下载的驱动程序路径
# 创建Chrome浏览器选项
chrome_options = Options()
# 添加浏览器参数
chrome_options.add_argument('--headless') # 以无头模式运行浏览器(无界面)
chrome_options.add_argument('--disable-gpu') # 禁用GPU加速,适用于Linux系统
chrome_options.add_argument('lang=zh-CN,zh,zh-TW,en-US,en')
# 创建一个带选项的Chrome浏览器实例,并指定驱动文件路径
driver = webdriver.Chrome(executable_path=driver_path, options=chrome_options)
# 打开网页
driver.get('https://www.baidu.com')
# 获取网页截图
driver.save_screenshot('screenshot.png')
# 关闭浏览器
driver.quit()
5、实现网页自动登陆
先找到指定登陆页面表单中的帐号、密码和登陆按钮,使用Selenium WebDriver 实现输入帐号和密码,点击登陆按钮登陆,如下,
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
# 指定WebDriver驱动文件的路径
driver_path = '/path/to/chromedriver' # 替换为您的Chrome WebDriver路径
# 创建Chrome浏览器选项
chrome_options = Options()
# 添加浏览器参数
chrome_options.add_argument('--headless') # 以无头模式运行浏览器(无界面)
chrome_options.add_argument('--disable-gpu') # 禁用GPU加速,适用于Linux系统
chrome_options.add_argument('lang=zh-CN,zh,zh-TW,en-US,en')
# 创建一个带选项的Chrome浏览器实例,并指定驱动文件路径
driver = webdriver.Chrome(executable_path=driver_path, options=chrome_options)
# 打开网页
driver.get('https://example.com') # 替换为您要登录的网站URL
# 查找用户名和密码输入框并输入信息
username_input = driver.find_element_by_id('username') # 替换为用户名输入框的HTML元素ID
password_input = driver.find_element_by_id('password') # 替换为密码输入框的HTML元素ID
username_input.send_keys('your_username') # 替换为用户名
password_input.send_keys('your_password') # 替换为密码
# 查找登录按钮并点击
login_button = driver.find_element_by_id('login_button') # 替换为登录按钮的HTML元素ID
login_button.click()
# 登录成功后,可以执行其他操作,或者获取登录后的页面截图等
# 获取网页截图
driver.save_screenshot('loggedin.png')
# 关闭浏览器
driver.quit()
6、下载网页中图片
使用Selenium WebDriver,获取网页中img标签的src,图片的url,然后下载到本地,代码如下,
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import os
import requests
# 指定WebDriver驱动文件的路径
driver_path = '/path/to/chromedriver' # 替换为您的Chrome WebDriver路径
# 创建Chrome浏览器选项
chrome_options = Options()
# 添加浏览器参数
chrome_options.add_argument('--headless') # 以无头模式运行浏览器(无界面)
chrome_options.add_argument('--disable-gpu') # 禁用GPU加速,适用于Linux系统
chrome_options.add_argument('lang=zh-CN,zh,zh-TW,en-US,en')
# 创建一个带选项的Chrome浏览器实例,并指定驱动文件路径
driver = webdriver.Chrome(executable_path=driver_path, options=chrome_options)
# 打开网页
driver.get('https://www.baidu.com') # 替换为您要下载图片的网站URL
# 查找包含图片的HTML元素
image_elements = driver.find_elements_by_tag_name('img')
# 创建一个目录来保存下载的图片
os.makedirs('downloaded_images', exist_ok=True)
# 遍历所有图片元素并下载图片
for i, img in enumerate(image_elements):
img_url = img.get_attribute('src')
if img_url:
response = requests.get(img_url)
if response.status_code == 200:
# 保存图片到指定目录
with open(f'downloaded_images/image_{i}.jpg', 'wb') as f:
f.write(response.content)
# 关闭浏览器
driver.quit()