web自动化日常学习

web自动化

一 . selenium

  • 是一个Web 应用的自动化框架。
  • 可以通过它写出自动化程序,实现人在浏览器中操作页面
  • 获取页面有效信息

selenium环境安装
主要包括客户端库和浏览器驱动

       - 客户端库主要根据不同的编程语言进行选择(例如:python主要就可以通过pip下载安装-pip install selenium)
       - 浏览器驱动主要也是与浏览器相匹配(我主要是常用Chrome浏览器)  备注:需要注意与版本相匹配    [谷歌浏览器驱动地址](http://chromedriver.storage.googleapis.com/index.html)
       关于版本可以打开浏览器,在地址栏输入chrome://version/,查看到谷歌当前的版本号   

选择元素的方法

  • 根据id选择元素
# 根据id选择元素
element = wd.find_element_by_id('kw')
element.send_keys('python\n')
  • 根据class定位元素
# 根据class选择元素
elements = wd.find_elements_by_class_name('animal')
for element in elements:
    print(element.text)
  • 根据标签选择元素
# 根据标签定位元素
elements = wd.find_elements_by_tag_name('span')
for element in elements:
    # 通过WebElement对象的text属性可以获取该元素在网页中的文本内容
    print(element.text)

find_element 和 find_elements 的区别

find_elements 选择的是符合条件的 所有元素; 如果没有符合条件的元素, 返回空列表
find_element 选择的是符合条件的 第一个元素; 如果没有符合条件的元素, 抛出异常(NoSuchElementException )

代码执行的速度比百度服务器响应的速度快的遗留问题
解决方案:

当元素未找到时,选择周期性寻找该元素,直到找到/指定最大等待时长,到达临界点,再抛出异常提示(selenium提供的方法代码)

# 设置最大等待时长为 10秒
wd.implicitly_wait(10)

操控元素

  1. 点击元素
# 根据id定位到搜索栏并输入python关键字点击百度一下进行查询
element = wd.find_element_by_id('kw')
element.send_keys('python')
wd.find_element_by_id('su').click()
  1. 在元素中输入字符串
# 输入字符串
element.send_keys('python\n')
  1. 获取元素包含的信息(文本信息,属性等)
# 获取搜索结果中id=2的相关文字内容
context = wd.find_element_by_id('2')
print(context.text)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值