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()