Python+Selenium+Chrome 自动化测试(上)

---恢复内容开始---

主要来写一些Selenium函数的使用方法

# 导入webdriver方法,用来调用浏览器,需要自行下载好相应的驱动
from selenium import webdriver

# 执行便会启动浏览器
driver = webdriver.Chrome()

# 获取一个网页页面
driver.get("http://m.baidu.com")

# 参数数字为像素点,设置浏览器页面大小
print("设置浏览器宽480、高800显示")
driver.set_window_size(480, 800)

# 浏览器的前进和后退
driver.forward()
driver.back()

# 刷新
driver.refresh()

#退出浏览器
driver.quit()

 

上面的都是基础操作,下面来看一些常用方法

# 首先得需要有一些基本定位的概念,定位后在对这些元素进行操作
# clear()        清除文本    
# send_keys()    写文本信息
# click()        单击。若元素不能单击也不会报错
# submit()       提交表单,类似回车方法
#
from selenium import webdriver driver = webdriver.Chrome() driver.get("https://www.baidu.com") # 先定位搜索框,然后将搜索框中的内容清空 driver.find_element_by_id("kw").clear() # 先定位搜索框,然后再搜索框中输入"selenium" driver.find_element_by_id("kw").send_keys("selenium") # 先定位搜索按钮,然后点击搜索。接着就会看到搜索后的内容 driver.find_element_by_id("su").click() driver.back() driver.find_element_by_id("kw").send_keys("selenium") # submit定位搜索按钮和搜索框都可以成功执行 # driver.find_element_by_id("su").submit() driver.find_element_by_id("kw").submit() driver.quit()

 

其他方法

#size 返回元素的尺寸
#text 获取元素的文本
#get_attribute(name) 获得属性值
#is_displayed() 设置该元素是否用户可见

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("http://www.baidu.com")

# 获得输入框的尺寸
size = driver.find_element_by_id('kw').size
print(size)

# 返回百度页面底部备案信息
text = driver.find_element_by_id("cp").text
print(text)

# 返回元素的属性值, 可以是 id、 name、 type 或其他任意属性
attribute = driver.find_element_by_id("kw").get_attribute('type')
print(attribute)

# 返回元素的结果是否可见, 返回结果为 True 或 False
result = driver.find_element_by_id("kw").is_displayed()
print(result)

driver.quit()

 

鼠标操作

# 在 WebDriver 中, 将这些关于鼠标操作的方法封装在 ActionChains 类提供
# ActionChains 类提供了鼠标操作的常用方法
# perform()         执行所有 ActionChains 中存储的行为
# context_click()   右击
# double_click()    双击
# drag_and_drop()   拖动
# move_to_element() 鼠标悬停

from selenium import webdriver

# 导入提供鼠标操作的 ActionChains 类。
from selenium.webdriver.common.action_chains import ActionChains
# from selenium.webdriver import ActionChains

driver = webdriver.Chrome()
driver.get("https://www.baidu.cn")

# 定位到要悬停的元素
above = driver.find_element_by_link_text("设置")

# 对定位到的元素执行鼠标悬停操作
ActionChains(driver).move_to_element(above).perform()

 

# 导入提供鼠标操作的 ActionChains 类
from selenium.webdriver import ActionChains

# 调用 ActionChains()类, 将浏览器驱动 driver 作为参数传入
ActionChains(driver)

# context_click()方法用于模拟鼠标右键操作, 在调用时需要指定元素定位
move_to_element(above)

# 执行所有 ActionChains 中存储的行为, 可以理解成是对整个操作的提交动作
perform()

 鼠标常见操作

# click(on_element=None) 
# 单击鼠标左键
#
# click_and_hold(on_element=None)
# 点击鼠标左键,不松开
# # context_click(on_element=None)
# 点击鼠标右键
# # double_click(on_element=None)
# 双击鼠标左键
# # drag_and_drop(source, target)
# 拖拽到某个元素然后松开
# # drag_and_drop_by_offset(source, xoffset, yoffset)
# 拖拽到某个坐标然后松开
# # key_down(value, element=None)
# 按下某个键盘上的键
# # key_up(value, element=None)
# 松开某个键
# # move_by_offset(xoffset, yoffset)
# 鼠标从当前位置移动到某个坐标
# # move_to_element(to_element)
# 鼠标移动到某个元素
# # move_to_element_with_offset(to_element, xoffset, yoffset)
# 移动到距某个元素(左上角坐标)多少距离的位置
# # perform()
# 执行链中的所有动作
# # release(on_element=None)
# 在某个元素位置松开鼠标左键
# # send_keys(*keys_to_send)
# 发送某个键到当前焦点的元素
# # send_keys_to_element(element, *keys_to_send)
# 发送某个键到指定元素

 

 

 

键盘操作

# Keys()类提供了键盘上几乎所有按键的方法,甚至是组合键,如 Ctrl+A、 Ctrl+C 等。

from selenium import webdriver

# 引入 Keys 模块
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome()
driver.get("http://www.baidu.com")

# 输入框输入内容
driver.find_element_by_id("kw").send_keys("seleniumm")

# 删除多输入的一个 m
driver.find_element_by_id("kw").send_keys(Keys.BACK_SPACE)

# 输入空格键+“教程”
driver.find_element_by_id("kw").send_keys(Keys.SPACE)
driver.find_element_by_id("kw").send_keys("教程")

# ctrl+a 全选输入框内容
driver.find_element_by_id("kw").send_keys(Keys.CONTROL, 'a')

# ctrl+x 剪切输入框内容
driver.find_element_by_id("kw").send_keys(Keys.CONTROL, 'x')

# ctrl+v 粘贴内容到输入框
driver.find_element_by_id("kw").send_keys(Keys.CONTROL, 'v')

# 通过回车键来代替单击操作
driver.find_element_by_id("su").send_keys(Keys.ENTER)

driver.quit()

 

键盘常见操作

# 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
# …… # send_keys(Keys.F12)
# 键盘 F12

 

转载于:https://www.cnblogs.com/zzzhang/p/8036595.html

你可能感兴趣的:(Python+Selenium+Chrome 自动化测试(上))