Python selenium模块

啥是selenium

selenium是用于Web应用程序自动化测试工具,就像真正的用户在操作一样浏览器一样,驱动浏览器执行特定的动作,如点击、下拉、输入文本等操作。

selenium在爬虫中的应用

  1. 在获取动态页面中的数据,有一些动态的数据在获取源码中并没有显示这一类数据,就可以使用selenium模拟浏览器行为,获取这类数据
  2. 可以用于模拟登陆,使用selenium模拟用户登陆行为,保存登陆后的cookie,可保持登陆状态。

selenium库的安装

pip install selenium

driver下载地址

要使用selenium模拟浏览器的行为,需要下载其驱动,并添加到环境变量当中

元素定位方法

  • Python selenium中8种定位方法

    find_ element by_id()
    find element by_name()
    find_ element by_class_name()
    find_elementby_tag_name()
    find_ element_by_link_text()
    find_ element by_partial_link_text()
    find_ elementby_xpath()
    find_element by_css_selector()

浏览器交互方法

  • 控制浏览器

    • 浏览器最大化窗口
      maximize_window()
    • 设置窗口大小(宽,高)
      set_window_size(800,900)
    • 控制浏览器前进、后退、刷新
      back()、forwar()、refresh()
  • 控制鼠标

    • 执行ActionChains中存储的行为
      perform()
    • 点击
      click()
    • 右击
      context_click()
    • 双击
      double_click()
    • 拖动
      drag_and_drop()
    • 鼠标悬停
      move_to_element()

实操小例子

打开Chrome浏览器打开百度输入python点击百度一下进行搜索退出浏览器

# 导包
import time
from selenium import webdriver

# 打开谷歌浏览器
browser = webdriver.Chrome()
# 浏览器最大化
browser.maximize_window()

# 打开百度
browser.get('https://www.baidu.com')
time.sleep(3)

# 通过id字段查找到百度搜索框
# <input type="text" class="s_ipt" name="wd" id="kw" maxlength="100" autocomplete="off">
search = browser.find_element_by_id('kw')

# # 可以自定义搜索内容
# text = input('请输入要搜索的信息:')

# 向搜索框输入内容
# search.send_keys(text) 
search.send_keys('python')

# 通过id字段查找到搜索按钮
# <input type="submit" value="百度一下" id="su" class="btn self-btn bg s_btn">
button = browser.find_element_by_id('su')
# 暂停一下,免得太快你看不见
time.sleep(3)

# 点击按钮进行搜索
button.click()
time.sleep(3)

# 退出浏览器
browser.quit()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值