seleniumAPI常用参考

一、元素定位
  1. find_element_by_id()
  2. find_element_by_name()
  3. find_element_by_class_name()
  4. find_element_by_tag_name()
  5. find_element_by_xpath()
  6. find_element_by_link_text()
  7. find_element_by_partial_link_text()
  8. find_element_by_css_selector()

css_selector()参数详解:

选择器例子和描述
.class.into,class选择器,选择class='into’的所有元素
#id#f,id选择器,选择id=‘f’ 的所有元素
**,选择所有元素
elementp,选择所有的p元素
element>elementdiv>input,选择父元素为div元素的所有input子元素
element+elementdiv+input,选择同一级中紧接div元素之后的所有input元素
[attribute=value][target=_blank],选择target=“_blank”的所有元素

xpath()详解:

二、浏览器控制常用操作

  • 控制游览器窗口大小
    set_window_size(x宽,y高)
    maximize_window()全屏显示

  • 控制游览器后退、前进
    back()
    forward()

  • 模拟预览器刷新
    refresh()刷新当前页面

  • 关闭游览器
    close()关闭当前游览器窗口
    quite()也是退出,但是彻底关闭webdriver

  • 打开游览器
    webdriver.Chrome()这里拿Chrome游览器为例

  • 访问网站链接
    游览器对象.get(url)
    例如:
    bro = webdriver.Chrome
    bro.get(“https://www.csdn.net”)

  • 打印当前页面title和url
    title
    current_url

常用元素的操作方法

  • clear() 清楚文本
  • send_keys(value) 模拟按键输入
  • click() 点击元素
  • submit()提交表单
  • size 返回元素尺寸
  • text 获取元素的文本
  • get_attribute(属性名)获得属性值
  • is_displayed()判断该元素是否用户可见
  • name 获取实例底层游览器名称
  • orientation 获取当前设备的方位
  • page_source 获取当前页码的源代码
  • set_page_load_timeout(time_to_wait)设置一个页面完全加载完成的超时等待时间
  • set_script_timeout(time_to_wait)设置脚本执行的超时时间

鼠标常用操作

 from selenium.webdriver.common.action_chains import ActinoChains
 ActionChains类提供鼠标常用的操作方法
  • perform()执行所有ActionChains中存储的行为
  • context_click()右击
  • double_click()双击
  • drag_and_drop()拖动
  • move_to_element()鼠标悬停
    ActionChains(游览器驱动).context_click/double_click/move_to_element(具体定位到的元素).perfrom()
    ActionChains(游览器驱动).drag_and_drop(鼠标拖动的源元素,鼠标释放的目标元素).perfrom()

键盘常用操作

from selenium.webdriver.common.keys import keys
Keys类提供了键盘上几乎所有按键方法
  • send_keys(Keys.BACK_SPACE) 模拟删除键
  • send_keys(Keys.SPACE) 模拟空格键
  • send_keys(Keys.TAB) 模拟制表键
  • send_keys(Keys.ESCAPE) 模拟回退键
  • send_keys(Keys.ENTER) 模拟回车键
  • send_keys(Keyds.CONTROL,‘a’) 模拟全选ctrl+A
  • send_keys(Keyds.CONTROL,‘c’) 模拟复制ctrl+c
  • send_keys(Keyds.CONTROL,‘v’) 模拟粘贴ctrl+v
  • send_keys(Keyds.CONTROL,‘x’) 模拟剪切ctrl+x
  • send_keys(Keys.F12)模拟键盘F12

窗口、表单切换

  • switch_to.frame(属性值) 切换到表单frame的内嵌页面中
  • switch_to.parent_content() 跳出当前一级表单,默认对应离它最近的switch_to.frame方法
  • switch_to.default_content()跳到最外层页面
  • switch_to.window()实现不同窗口只间切换
  • current_window_handle获得当前窗口句柄
  • window_handles 返回所有窗口的句柄到当前会话

元素等待

  • 显式等待 webDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    使webdriver等待某个条件成立时继续执行。WebDriverWait类是由webdriver提供的等待方法,在设置时间内,每隔一段时间检测一次当前页面元素是否存在,在达到最长时长未检测到则抛出超时异常
    一般与until()或until_not()方法配合使用

    element = WebdriverWait(游览器驱动器,最长超时时间单位秒,检测的间隔时间,超时后的异常信息).until(对元素进行预期条件判断)
    excepted_conditions类提供预期条件判断的方法如下:

title_is判断当前页面的标题是否等于预期
title_contains判断当前页面的标题是否包含预期字符串
presence_of_element_located判断元素是否被加在DOM树里,并不代表元素一定可见
visibility_of_element_located判断元素是否可见(可见代表元素非隐藏并且元素宽高不为0)
visibility_of与上个方法作用一样,只是该方法接收的参数为定位后的元素
presence_of_all_elements_located判断是否至少有一个元素存在于DOM树中
text_to_be_present_in_element判断某个元素中的text是否包含了预期的字符串
text_to_be_present_in_element_value判断某个元素的value属性是否包含了预期的字符串
frame_to_be_available_and_switch_to_it判断该表单是否可以切换进去,能则True并且switch进去,相反False
invisibility_of_element_located判断某个元素是否不存在于DOM树或不可见
element_to_be_clickable判断元素是否可见并且可点击
staleness_of等到一个元素从DOM树中移除
element_to_be_selected判断某个元素是否被选中,一般用在下列列表
element_located_to_be_selected
element_selection_state_to_be判断某个元素的选中状态是否符合预期
element_located_selection_state_to_be与上个方法作用一样,只是该方法接收的参数为定位后的元素
alert_is_present判断页面是否存在alert
  • 隐形等待
    通过一定的时长等待页面元素的加载,若超出规定时长抛出NoSuchElementException异常。webdriver提供implicitly_wait()实现隐式等待,默认设置为0
    bro = webdriver.Chrome()
    bro.implicitly(n)

  • sleep()
    python的time模块,time.sleep(n)休眠n秒后继续执行

提示框处理

switch_to.alert()定位到alert/confirm/prompt,再使用以下操作
  • text 返回alert/confirm/prompt中的文字信息
  • accept 接受现有警告框
  • dismiss 解散现有警告框
  • send_keys(keysToSend)将文本发送至警告框

文件的上传与下载

1、上传
	webdriver没有提供专门的上传文件的方法,对于web页面实现上传的两种方式
	普通上传:将本地文件的路径作为值放在input标签中,通过form表单将值提交给服务器
	插件上传:一般指基于Flash、JavaScript或Ajax等技术所实现

2、下载
	允许文件自动下载并存放再指定的默认文件路径中
	FirefoxProfile() 

cookie操作

  • get_cookies() 获得所有cookie信息
  • get_cookie(name)返回字典的key为name的cookie信息
  • add_cookie(cookie_dict) 添加cookie,参数为字典对象
  • delete_cookie(name,options)删除cookie信息,name指要删除的cookie名称,第二个参数是可选项
  • delete_all_cookies() 删除所有cookie信息

调用JavaScript

  • execute_script(js代码)

截图

  • get_screenshot_as_file(图片保存路径)截图当前窗口到指定路径
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值