您的位置:首页 > 编程语言 > Python开发

selenium Python api

2017-12-26 16:28 295 查看
selenium —Python api

一、浏览器操作

driver.maximize_window() 最大化窗口

driver.set_window_size() 设置窗口的高与宽

二、元素定位方法:

id : find_element_by_id()

name : find_element_by_name()

class name : find_element_by_class_name()

tag name : find_element_by_tag_name()

link text : find_element_by_link_text()

partial link text : find_element_by_partial_link_text()

xpath : find_element_by_xpath()

css selector : find_element_by_css_selector()

三、操作测试对象

clear

send_keys

click

submit

size 返回元素的尺寸

text 获取元素的文本

get_attribute() 获取元素的属性值

is_displayed() 设置元素是否用户可见

四、鼠标事件

context_click() 右击

double_click() 双击

drag_and_drop(source,target) 拖动 source:鼠标按下的源元素 target:鼠标释放的目标元素

move_to_element() 鼠标悬停在一个元素上

click_and_hold() 按下鼠标左键在一个元素上

eg:ActionChains(driver).context_click().perform()

ActionChains用户生成用户的行为,通过perform()执行存储的行为

五、键盘事件

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)

六、打印信息

title 返回当前页面的标题

current_url 获取当前价值页面的URL

eg: driver.current_url

七、设置等待时间

sleep

implicitly_wait() :是 webdirver 提供的一个超时等待。隐的等待一个元素被发现,或一个命令完成。

如果超出了设置时间的则抛出异常

WebDriverWait(): eg:WebDriverWait(driver, 10).until(lambda driver : driver.find_element_by_id(“kw”))

WebDriverWait(driver, timeout, poll_frequency=0.5, ignored_exceptions=None)

driver - WebDriver 的驱动程序(Ie, Firefox, Chrome 或远程)

timeout - 最长超时时间,默认以秒为单位

poll_frequency - 休眠时间的间隔(步长)时间,默认为 0.5 秒

ignored_exceptions - 超时后的异常信息,默认情况下抛 NoSuchElementException 异常

八、定位frame中的对象

switch_to_frame :参数是name或者id

九、浏览器多窗口处理

current_window_handle 获取当前窗口句柄

window_handles 返回所有窗口的句柄到当前会话

switch_to_window() 处理多窗口之间的切换

十、alert/confirm/prompt 处理

 text 返回 alert/confirm/prompt 中的文字信息。

 accept 点击确认按钮。

 dismiss 点击取消按钮,如果有的话。

 send_keys 输入值,这个 alert\confirm 没有对话框就不能用了,不然会报错。

switch_to_alert() 用于获取网页上的警告信息

十一、调用javascript

execute_script(script, *args)

在当前窗口/框架 同步执行 javaScript

script:JavaScript 的执行。

*args:适用任何 JavaScript 脚本。

十二、cookie处理

webdriver 操作 cookie 的方法有:

 get_cookies() 获得所有 cookie 信息

 get_cookie(name) 返回特定 name 有 cookie 信息

 add_cookie(cookie_dict) 添加 cookie,必须有 name 和 value 值

 delete_cookie(name) 删除特定(部分)的 cookie 信息

 delete_all_cookies() 删除所有 cookie 信息
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  selenium