Selenium-WebDriverApi介绍

浏览器操作:

#刷新
driver.refresh()
from selenium import webdriver
driver=webdriver.Chrome()
driver.get('http://www.baidu.com')
import time
time.sleep(2)
driver.refresh()

#前进
driver.forward()
#后退
driver.back

获取标签元素

from selenium import webdriver
driver=webdriver.Chrome()
driver.get('http://www.imdsx.cn')
#通过ID定位目标元素
driver.find_element_by_id('i1').send_keys(1111)#向页面发送文本‘11111’
# 通过className定位目标元素
driver.find_element_by_class_name('c1').send_keys(1111)
#通过name属性定位目标元素
driver.find_element_by_name('n1').send_keys(1111)
#通过Xpath属性定位目标元素
driver.find_element_by_xpath('//input[@placeholder="请通过XPATH定位元素"]').send_keys(1111)
#通过css Selector定位目标元素
driver.find_element_by_css_selector('[maxlength="20"]').send_keys(2222)
# 通过标签名称定位(注:在一个页面中,标签一定会重复,所以不用这个来进行定位)
driver.find_element_by_tag_name('input').send_keys('tag name')
#通过标签中的文本查找元素
driver.find_element_by_link_text('登录').click()
#通过标签中文本的模糊匹配查找
driver.find_element_by_partial_link_text('录').click()

获取标签元素常用的一共有8种定位方式,而Selenium实际提供了18种定位方式,还有8种是上面的复数形式,实际种一般用不到,还有2种是这上面16种的底层封装。参数化的一种调用方式。

复数:

e=driver.find_elements_by_class_name('classname')[0]
e.send_keys(1111)
print(e)
print(type(e))

接受两个参数 形参1 以什么形式定位  形参2 定位value是什么
driver.find_element_by_id('i1')
driver.find_element('id','i1').send_keys(1111)
driver.find_elements('id','i1')[0].send_keys(2222)

一般都直接用driver.find_element_by_css_selector(),因为底层只要符合w3c的都转化为css_selector

窗口操作:

#获取当前浏览器的大小
driver.get_window_size()
#通过宽和高对size进行设置
driver.set_window_size('100','200')
# 获取当前窗口针对于Windows的位置的坐标x,y
driver.get_window_position()
 
# 设置当前窗口针对Windows的位置,x,y
driver.set_window_position(20,20)
 
# 最大化当前窗口,不需要传参
driver.maximize_window()
 
# 返回当前操作的浏览器句柄
driver.current_window_handle
 
# 返回所有打开server的浏览器句柄
driver.window_handles

截取当前页面:

from selenium import webdriver
driver=webdriver.Chrome()
driver.get("http://www.baidu.com")
driver.get_screenshot_as_file('d.png')

执行JavaScript语句
# 执行JavaScript语句
driver.execute_script('window.scrollTo(0,0);')#执行js的api,通过js来操作滚动条,滚动到最上面

关闭与退出:

#当开启多个页面时,关闭当前页面
driver.close()
#退出并关闭所有页面驱动
driver.quit()
from selenium import webdriver
driver=webdriver.Chrome()
driver.get("http://ui.imdsx.cn/uitester/")
driver.maximize_window()#将窗口放大
driver.execute_script('window.scrollTo(0,0);')#执行js的api
driver.find_element_by_css_selector('[href="/new-index/"]').click()
handles=driver.window_handles#返回所有打开server的浏览器句柄
print(handles)#返回list
driver.switch_to.window(handles[1])
driver.find_element_by_css_selector('#newtag').send_keys(1111)#找到新页面上的元素
driver.close()#关闭当前tab页
from selenium import webdriver
driver=webdriver.Chrome()
driver.get("http://ui.imdsx.cn/uitester/")
driver.maximize_window()#将窗口放大
driver.execute_script('window.scrollTo(0,0);')#执行js的api
driver.find_element_by_css_selector('[href="/new-index/"]').click()
handles=driver.window_handles
print(handles)
driver.switch_to.window(handles[1])
driver.find_element_by_css_selector('#newtag').send_keys(1111)
driver.quit() #关闭所有页面,结束服务

其他

# 返回页面源码
driver.page_source
 
# 返回tag标题
driver.title
 
# 返回当前Url
driver.current_url
 
# 获取浏览器名称 如:chrome
driver.name

ElementApi接口

#根据标签属性名称,获取属性value
element.get_attribute('style')
# 向输入框输入字符串 如果input的type为file类型 可以输入文件绝对路径上传文件
element.send_keys()
# 清除文本内容
element.clear()
# 鼠标左键点击操作
element.click()
 
# 通过属性名称获取属性
element.get_property('id')
 
# 返回元素是否可见 True or False
element.is_displayed()
 
# 返回元素是否被选中 True or False
element.is_selected()
 
# 返回标签元素的名字
element.tag_name
 
# 获取当前标签的宽和高
element.size
 
# 获取元素的文本内容
element.text
 
# 模仿回车按钮 提交数据
element.submit()
 
# 获取当前元素的坐标
element.location
 
# 截取图片
element.screenshot()
from selenium import webdriver
driver=webdriver.Chrome()
driver.get("http://ui.imdsx.cn/uitester/")
driver.maximize_window()#将窗口放大
driver.execute_script('window.scrollTo(0,0);')#执行js的api
e=driver.find_element_by_css_selector('#i1')
e.send_keys(1111)
import time
time.sleep(1)
e.clear() #清除文本框内内容

如果对软件测试有兴趣,想了解更多的测试知识,解决测试问题,以及入门指导,帮你解决测试中遇到的困惑,我们这里有技术高手。如果你正在找工作或者刚刚学校出来,又或者已经工作但是经常觉得难点很多,觉得自己测试方面学的不够精想要继续学习的,想转行怕学不会的, 都可以加入我们810119819,群内可领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值