一、网页览器操作
1.获取浏览器名称
cu_name=driver.name
2.获取当前页面的url地址
cu_url=driver.current_url
3.获取当前页面标题
cu_title=driver.title
4.获取当前页面源代码
cu_html=driver.page_source
5.获取当前窗口句柄
cu_handle=driver.current_window_handle
二、浏览器操作
# 设置浏览器大小
driver.set_window_size(800,800)
# 设置浏览器最大化
driver.maximize_window()
#浏览器后退
driver.back()
#浏览器前进
driver.foreword()
#浏览器刷新
driver.refresh
#浏览器滚动,x是指本页面的相对水平位置,Y是指相对本页面的垂直位置‘
js = 'window.scrollTo(X,Y)'
driver.execute_script(js)
scrollBy(x,y)#x是向下移动位置,Y是向右移动距离
三、元素简单操作
click() 单击、clear()清空、send_keys()文本框输入、submit()提交表单
四、鼠标事件
from selenium.webdriver.common.action_chains import ActionChains
ActionChains 类提供的鼠标操作的常用方法:
perform() 执行所有 ActionChains 中存储的行为
context_click() 右击
double_click() 双击
drag_and_drop() 拖动
move_to_element() 鼠标悬停
五、键盘事件
from selenium.webdriver.common.keys import Keys
在使用键盘按键方法前需要先导入 keys 类包。
下面经常使用到的键盘操作:
send_keys(Keys.BACK_SPACE) 删除键(BackSpace)
send_keys(Keys.SPACE) 空格键(Space)
send_keys(Keys.TAB) 制表键(Tab)
send_keys(Keys.ESCAPE) 回退键(Esc)
send_keys(Keys.ENTER) 回车键(Enter)
send_keys(Keys.CONTROL,'a') 全选(Ctrl+A)
send_keys(Keys.CONTROL,'c') 复制(Ctrl+C)
send_keys(Keys.CONTROL,'x') 剪切(Ctrl+X)
send_keys(Keys.CONTROL,'v') 粘贴(Ctrl+V)
send_keys(Keys.F1) 键盘 F1
六、下拉框操作
(1)元素定位及操作方法一
1.二次定位:
2.基本思路,先定位 select 框,再定位 select 里的选项
# 分两步:先定位下拉框,再点击选项,
<html>
<body>
<select name="fruit" size=1>
<option id='peach' value='taozi'>桃子</option>
<option id='watermelon' value='xigua'>西瓜</option>
<option id='orange' value='juzi' selected='selected'>橘子</option>
<option id='peach' value='mihoutao'>猕猴桃</option>
<option id='peach' value='shanza'>山楂</option>
<option id='peach' value='lizi'>荔枝</option>
</select>
</body>
</html>
from selenium import webdriver
import time
driver=webdriver.Firefox()
driver.implicitly_wait(30)
driver.maximize_window()
driver.get("file://d://select.html")
#遍历所有选项
select=driver.find_element_by_name("fruit")
all_options=select.find_elements_by_tag_name("option")
for option in all_options:
print("选项文本:{}".format(option.text))
print("选项值:{}".format(option.get_attribute("value")))
option.click()
time.sleep(3)
driver.quit()
(2)元素定位及操作方法二
引入Select模块
# 导入 select 模块 Select类
from selenium.webdriver.support.select import Select
1、select_by_index() :通过索引定位
通过 select 选项的索引来定位选择对应选项(从 0 开始计数),如选择
第三个选项:select_by_index(2)
s = driver.find_element_by_id('nr')
Select(s).select_by_index(2)
select_by_value() :通过 value 值定位
2、通过选项的 value值来定位。每个选项,都有对应的 value 值
第二个选顷对应的 value 值就是"20":select_by_value("20")
3、select_by_visible_text() :通过文本值定位
Select 模块里面还有一个更加高级的功能,可以直接通过选项的文本内容来定位。
s = driver.find_element_by_id('nr')
七、多窗口切换
窗口切换,从而操作不同的窗口上的元素。 WebDriver 提供switch_to.window()方法可以切换到任意的窗口。
八、警告框处理
在 WebDriver 中处理 JavaScript 所生成的 alert、confirm 以及 prompt 是很简单的。具体做法是使用switch_to_alert()方法定位到 alert/confirm/prompt。然后使用 text/accept/dismiss/send_keys 按需进行操做。
text:获取文本值
accept() :点击"确认"
dismiss() :点击"取消"或者叉掉对话框
send_keys() :输入文本值 --仅限于 prompt,在 alert 和 confirm 上没有输入框