Selenium自动化

Selenium

一.Selenium定义:

Selenium 是一个 Web 的自动化测试工具,最初是为网站自动化测试而开发的,就像玩游戏用的按键精灵,可以按指定的命令自动操作。Selenium 测试工具直接操控浏览器中,就像真正的用户在操作一样。Selenium 可以根据的指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏,或者判断网站上某些动作是否发生

二.Selenium工作原理

在这里插入图片描述

三.Selenium配置

Selenium 支持多种浏览器,最常见的就是 火狐谷歌 浏览器。首先在电脑上下载浏览器,浏览器版本不宜过新。

四.浏览器驱动

切记浏览器版本与驱动版本要匹配,以下案例全是以谷歌为例

火狐驱动:geckodriver 0.23.0 ( 2018-10-04)
火狐驱动下载地址

谷歌驱动:ChromeDriver 71.0.3578.33
谷歌驱动下载地址:
谷歌驱动下载地址
谷歌驱动下载地址

配置浏览器驱动:
将下载好的浏览器驱动解压,将解压出的 exe 文件放到Python的安装目录下,也就是和python.exe同目录即可。

五.使用Selenium

1.安装Selenium

pip install selenium

2.简单操作一波

‘’’
打开百度首页
‘’’
from selenium import webdriver

driver = webdriver.Chrome()
url = ‘https://www.baidu.com/’
#打开 get 就类似与在浏览器地址栏里面放入网址
driver.get(url)
#退出浏览器
driver.quit()

3.元素的提取

1.css选择器
find_element_by_css_selector()

以百度界面为例:

'''
数据的提取:
    Selenium提供了8种方式来提取元素.
    find_element_by_css_selector()  通过css选择器找到元素
    调用:
        driver 是 实例化后的对象
        driver.find_element_by_css_selector()
'''
# 清空 input 标签
driver.find_element_by_css_selector('#kw').clear()
# 点击搜索关键字
driver.find_element_by_css_selector('#kw').send_keys('python')
# 点击搜索按钮
driver.find_element_by_css_selector('#su').click()
2.Xpath选择器
find_element_by_xpath()

以百度界面为例:

# 清空 input 标签
driver.find_element_by_xpath('//*[@id="kw"]').clear()
# 点击搜索关键字
driver.find_element_by_xpath('//*[@id="kw"]').send_keys('你好')
# 点击搜索按钮
driver.find_element_by_xpath('//*[@id="su"]').click()

注意:

  • find_element_**() 类型的方法只能获取元素。想要获取属性要使用get_attribute()方法

    driver.find_element_by_xpath('//*[@id="kw"]').get_property('name')
    driver.find_element_by_xpath('//*[@id="kw"]').get_attribute('class')
    
  • find_element_**() 类型的方法只能获取一个元素。想要获取多个元素,可以采用find_elements_**(),中间多了一个s,代表获取多个。

3.其他方式
find_element_by_link_text()

通过文本链接来定位元素

find_element_by_partial_link_text()

通过文字链接中的一部分文字定位,属于模糊定位

driver.find_element_by_link_text('把百度设为主页').get_attribute('id')
driver.find_element_by_partial_link_text('把百度').get_attribute('id')
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值