📅  最后修改于: 2023-12-03 14:56:30.687000             🧑  作者: Mango
硒(Selenium)是一种自动化测试工具,用于模拟用户对网站或Web应用程序的操作,支持多种编程语言和操作系统。
硒可用于自动化测试,可节省开发人员的时间和精力。它还可以模拟用户对Web应用程序的操作,可用于Web爬虫和数据挖掘等方面。
from selenium import webdriver
# 创建chrome浏览器实例
browser = webdriver.Chrome()
# 获取百度首页
browser.get('https://www.baidu.com')
# 在搜索框中输入关键词
search_box = browser.find_element_by_id('kw')
search_box.send_keys('Python')
# 点击搜索按钮
search_button = browser.find_element_by_id('su')
search_button.click()
# 关闭浏览器
browser.quit()
以上代码展示了如何使用硒在Chrome浏览器中搜索“Python”。其中,webdriver
模块提供了各种浏览器的实例创建工具;find_element_by_id
方法根据元素的id
属性查找元素;send_keys
方法输入文本;click
方法模拟点击操作;quit
方法关闭浏览器实例。
from selenium import webdriver
import time
# 创建chrome浏览器实例
browser = webdriver.Chrome()
# 访问QQ邮箱登录页面
browser.get('https://mail.qq.com/cgi-bin/loginpage')
# 点击“帐号密码登录”选项卡
tab_pwd = browser.find_element_by_id('switcher_plogin')
tab_pwd.click()
# 输入用户名和密码
username_box = browser.find_element_by_id('u')
username_box.send_keys('your_QQ_email_address')
password_box = browser.find_element_by_id('p')
password_box.send_keys('your_password')
# 点击“登录”按钮
login_button = browser.find_element_by_id('login_button')
login_button.click()
# 等待页面跳转
time.sleep(5)
# 关闭浏览器
browser.quit()
from selenium import webdriver
import time
# 创建chrome浏览器实例
browser = webdriver.Chrome()
# 访问淘宝首页
browser.get('https://www.taobao.com')
# 输入搜索关键词
search_box = browser.find_element_by_name('q')
search_box.send_keys('Python书籍')
# 点击搜索按钮
search_button = browser.find_element_by_class_name('btn-search')
search_button.click()
# 模拟滚动页面
for i in range(3):
browser.execute_script('window.scrollBy(0, 1000)')
time.sleep(1)
# 获取商品信息
items = browser.find_elements_by_class_name('item')
for item in items:
title_box = item.find_element_by_class_name('title')
price_box = item.find_element_by_class_name('price')
print(title_box.text, price_box.text)
# 关闭浏览器
browser.quit()
以上代码展示了如何使用硒爬取淘宝上的Python书籍信息。其中,find_element_by_name
和find_element_by_class_name
方法根据元素的name
和class
属性查找元素;execute_script
方法可以执行JavaScript代码,用于模拟页面的滚动操作。