python自动化测试需要掌握_python自动化测试学习-自动化测试Selenium(python):基础教程...

Part-1:基础环境搭建

pip 相关 Selenium命令:

pip install -U selenium # 安装最新版本

pip install selenium==3.11.0 # 安装制定版本

pip show selenium # 查看当前包版本信息

pip uninstall selenium # 卸载selenium

Part-2:启动各类浏览器

from selenium import webdriver

driver=webdriver.Chrome() # 打开Chrome浏览器

driver=webdriver.Opera() # 打开Opera浏览器

driver = webdriver.Firefox() # 打开Firefox浏览器

driver=webdriver.Edge() # 打开Edge浏览器

注意事项:Mac环境下Edge创建容器需要调整平台参数

webDriver.Edge中init方法中默认指定Windows平台需要自己

if capabilities is None:

capabilities = DesiredCapabilities.EDGE

EDGE = {

"browserName": "MicrosoftEdge",

"version": "",

"platform": "WINDOWS"

}

# 其中platform由于默认设定的是Windows,启动的时候会报错,只要在声明driver用如下参数:

driver = webdriver.Edge(executable_path="msedgedriver",

capabilities={

"browserName": "MicrosoftEdge",

"version": "",

"platform": "Any"

})

Part-3:元素操作

元素定位8种方法

driver.find_element_by_id() # id定位:

driver.find_element_by_name() # name定位

driver.find_element_by_tag_name() # tag定位

driver.find_element_by_class_name() # class定位

driver.find_element_by_link_text() # link_text

driver.find_elements_by_partial_link_text() # partial_text

driver.find_element_by_xpath() # XPath定位

driver.find_elements_by_css_selector() # CSS_selector定位

XPath定位多种用法:

driver.find_element_by_xpath('/html/body/div') # 根据绝对路径定位

driver.find_element_by_xpath("//input[@id='jw']") # 根据元素属性定位

driver.find_element_by_xpath("//span[@class='jw_bg_s']/input") # 层级与属性结合

driver.find_element_by_xpath("//inpt[@id='kw' and @class='jw_bg_s']") # 逻辑运算符

driver.find_element_by_xpath("//span[contains(@class,'jw_bg_s')]/input") # 使用contain方法

driver.find_element_by_xpath("//span[contains(text(),'文字')]") # 使用text方法

CSS定位多种用法:

driver.find_elements_by_css_selector(".jw_bg_s") # 通过class定位

driver.find_elements_by_css_selector("#jw_bg_s") # 通过id定位

driver.find_elements_by_css_selector("input") # 通过标签名定位

driver.find_elements_by_css_selector("span > input") # 通过层级关系定位

driver.find_elements_by_css_selector("[type='submit']") # 通过属性定位

driver.find_elements_by_css_selector("form.fm > span > input#kw") # 通过组合定位

driver.find_elements_by_css_selector("[class*=jw_bg_s]") # class属性包含定位

driver.find_elements_by_css_selector("[class^=jw_bg_s]") # class属性开头字样定位

driver.find_elements_by_css_selector("[class$=jw_bg_s]") # class属性结束字样定位

driver.find_elements_by_css_selector("form > input:nth-child(2)") # 获取form元素下第二个自元素

元素操作:

element.clear() # 清除文本

element.send_keys('测试') # 模拟发送按键输入

element.click() # 单击元素

element.submit() # 提交表单

element.get_attribute() # 获取属性值

element.text() # 获取元素文本

element.size() # 获取元素尺寸

element.is_displayed() # 获取元素是否可见

Part-4:Driver方法和属性

driver.set_window_size(400,800) # 设置浏览器窗口大小

driver.back() # 后退

driver.forward() # 前进

driver.refresh() # 刷新

driver.save_screenshot('./a.png') # 保存截图

driver.title # 网页标题

driver.current_url # 网页URL

Part-5:鼠标操作

from selenium.webdriver import ActionChains

ActionChains.perform() # 执行ActionChain类中存储所有行为

ActionChains.context_click() # 右点击

ActionChains.double_click() # 双击

ActionChains.drag_and_drop() # 拖动

ActionChains.move_to_element() # 鼠标悬停

Part-6:多页签处理

current_windows=driver.current_window_handle # 当前页签句柄

driver.window_handles # 所有页签句柄

driver.switch_to.window(current_windows) # 切换回当前页签句柄

Part-7: Cookie处理

driver.get_cookie('a') # 获取Cookie

driver.add_cookie({'a':'value'}) # 添加Cookie

driver.delete_cookie('a') # 删除Cookie

Part-8:其它API

# 警告框处理

driver.switch_to.alert().accept() # 接受现有警告

driver.switch_to.alert().dismiss() # 解散现有警告

driver.switch_to.alert.text # 警告框文本

driver.switch_to.alert.send_keys("adf") # 发送文本

# 下拉框处理

from selenium.webdriver.support.select import Select

select = Select(element)

select.select_by_value('20') # 根据值获取

select.select_by_index(1) # 根据下标获取

select.deselect_by_visible_text('下拉框文本') # 根据下拉框文本选择

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值