selenium driver 快速入门

1. 配置环境
2. 语法
(1)打开浏览器
(2)非默认路径下浏览器的打开方式
(3)打开网址
(4)常用动作
(5)查找元素
(6)input 输入框
(7)select 下拉框
(8)iframe 框架
(9)alert 弹出框
(10)window 窗口
(11)键盘操作
(12)鼠标操作
(13)滚动条
(14)休眠


1. 配置环境

1、python 环境

2、pip 安装 selenium
	pip install selenium==2.53.6
	
3、查看 pip 安装列表
	pip list
	
4、下载浏览器版本对应的驱动,复制到 python 安装目录下
	Firefox:selenium 3.0 以前默认无需安装驱动
	Chrome:需安装驱动
	IE:需安装驱动
  • pip 安装 selenium 插件
    在这里插入图片描述

  • 将浏览器驱动复制到 python 安装目录下
    在这里插入图片描述

2. 语法

(1)打开浏览器

1、导入包
	from selenium import webdriver
	
打开浏览器:Firefox、Chrome、IE
2、Firefox 浏览器
	driver = webdriver.Firefox()
	
3、Chrome 浏览器
	driver = webdriver.Chrome()
	
4、IE 浏览器
	driver = webdriver.Ie()

(2)非默认路径下浏览器的打开方式

1、查看浏览器配置路径,r 代表路径
	path = r"C:\Users\Administrator\AppDate\Local\Mozilla\Firefox\Profiles\xx.default"
	
2、p = webdriver.FirefoxProfile(path)

3、driver = webdriver.Firefox(p)

(3)打开网址

driver = get(url)

(4)常用动作

1、获取网页标题:driver.title
2、元素内容:.text
3、点击元素:.click()

(5)查找元素

1、查找单个元素:driver.find_element_by_

2、查找多个元素:driver.find_elements_by_
	ls = driver.find_elements_by_id('user')
	type(ls)list 列表类型
	len(ls):取 ls 长度
	按索引取,多个元素中的单个元素:
		driver.find_elements_by_id('user')[0]
		
3、查找元素可通过:id、name、xpath、css_selector、link_text、partial_link_text、class_name、tag_name
	
	(1id
		driver.find_elements_by_id()2)name
		driver.find_elements_by_name()3)xpath(绝对路径、相对路径)
		driver.find_elements_by_xpath()
		相对路径:".//标签名[@属性名=属性值]",如 './/input[@type="checkbox"]'4)css_selector
		driver.find_element_by_css_selector()5)link_text
		driver.find_element_by_link_text()6)partial_link_text
		driver.find_element_by_partial_link_text()7)class_name
		driver.find_element_by_class_name()8)tag_name
		driver.find_element_by_tag_name()

(6)input 输入框

input 输入框方法:clear()、click()、send_keys()、text

1、clear():清空输入框
	driver.find_element_by_id('user').clear()
	
2、click():点击输入框
	driver.find_element_by_id('user').click()
	
3、send_keys()1)往输入框输入内容
		driver.find_element_by_id('user').send_keys('admin')2)点击键盘按钮,导入包 keys
		driver.find_element_by_id('user').send_keys(keys.ENTER)
	
4、text:获取元素内容
	driver.find_element_by_id('user').text

(7)select 下拉框

gender 性别下拉框 : 男,女
索引:男 0,女 1
属性值:男 male,女 female

1、Select():定位下拉框元素
	Select(driver.find_element_by_id('gender'))
	
2、定位选项
	(1)select_by_visiable_text():按 option 下拉文字定位
		Select(driver.find_element_by_id('gender')).select_by_visiable_text('女')2)select_by_index():按 index 索引定位
		Select(driver.find_element_by_id('gender')).select_by_index('1')3)select_by_value():按 value 属性值定位
		Select(driver.find_element_by_id('gender')).select_by_value('female')

(8)iframe 框架

如果有框架 iframe ,需进入 iframe ,才能对框架下的界面元素进行操作

1、进入框架
	旧方法:driver.switch_to_frame()
	新方法:driver.switch_to.frame()
	
2、退出框架
	旧方法:driver.switch_to_default_content()
	新方法:driver.switch_to.default_content()

(9)alert 弹出框

1、切焦点,进入弹出框
	旧方法:driver.switch_to_alert()
	新方法:driver.switch_to.alert()
	
2、dismiss():点击取消
	driver.switch_to_alert().dismiss()
	
3、accept():点击确认
	driver.switch_to_alert().accept()
	
4、text:获取弹出框内容
	driver.switch_to_alert().text

(10)window 窗口

1、窗口唯一标识(句柄)
	w = driver.window_handles
	type(w)list 列表类型
	len(w):取 w 长度
	w[-1]:最新窗口的标识符
	
2、跳转窗口
	旧方法:driver.switch_to_window()
	新方法:driver.switch_to.window()1)跳转原始窗口
		driver.switch_to_window(w[0])2)跳转最新窗口
		driver.switch_to_window(w[-1])
		
3、关闭窗口
	(1)关闭当前窗口
		driver.close()2)关闭所有窗口
		driver.quit()
	
4、前进
	driver.forward()
	
5、后退
	driver.back()
	
6、刷新
	driver.refresh()

(11)键盘操作

键盘操作:send_keys(Keys.~)
1、全选
	send_keys(Keys.CONTROL,'a')
	driver.find_element_by_id('userInfo').send_keys(Keys.CONTROL,'a')
	
2、复制
	send_keys(Keys.CONTROL,'c')
	driver.find_element_by_id('userInfo').send_keys(Keys.CONTROL,'c')
	
3、粘贴
	send_keys(Keys.CONTROL,'v')
	driver.find_element_by_id('userInfo').send_keys(Keys.CONTROL,'v')
	
4、剪切
	send_keys(Keys.CONTROL,'x')
	driver.find_element_by_id('userInfo').send_keys(Keys.CONTROL,'x')
	
5、回车
	driver.find_element_by_id('userInfo').send_keys(Keys.Back_Space)

(12)鼠标操作

1、双击
	ActionChains(driver).double_click('img').perform()

2、右键
	ActionChains(driver).content_click('img').perform()
	
3、悬浮
	ActionChains(driver).move_to_element('img').perform()

(13)滚动条

1、跳转到顶部
	js = "var action=document.documentElement.scrollTop=0"
	driver.execute_script(js)
	
2、跳转到底部
	js = "var action=document.documentElement.scrollTop=1000"
	driver.execute_script(js)

(14)休眠

1、隐式等待
	driver.implicitly_wait(5)	# 等待 5s
	
2、强制等待
	import time		# 导入包 time
	time.sleep(2)	# 等待 2s
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值