selenium-浏览器及元素的常用操作
由于WebUI自动化要操作浏览器以及浏览器页面元素,将浏览器及页面元素常用的函数及变量整理总结
from selenium import webdriver driver = webdriver.Firefox() driver.get(r'http://www.baidu.com/') print('浏览器属性:') print(dir(driver)) elem = driver.find_element_by_id('kw') print('页面元素属性:') print(dir(elem))
一、浏览器属性调用:
driver.属性值
1、变量说明:
driver.current_url # 用于获得当前页面的URL driver.title # 用于获取当前页面的标题 driver.page_source # 用于获取页面html源代码 driver.current_window_handle # 用于获取当前窗口句柄 driver.window_handles # 用于获取所有窗口句柄
2、函数说明:
driver.find_element*() # 定位元素 driver.get(url) # 浏览器加载url,实例:driver.get("http//:www.baidu.com") driver.forward() # 浏览器向前(点击向前按钮) driver.back() # 浏览器向后(点击向后按钮) driver.refresh() # 浏览器刷新(点击刷新按钮) driver.close() # 关闭当前窗口,或最后打开的窗口 driver.quit() # 关闭所有关联窗口,并且安全关闭session driver.maximize_window() # 最大化浏览器窗口。 driver.set_window_size(宽,高) # 设置浏览器窗口大小,实例:driver.set_window_size(600,600) driver.get_window_size() # 获取当前窗口的长和宽。 driver.get_window_position() # 获取当前窗口坐标。 driver.get_screenshot_as_file(filename) # 截取当前窗口,实例:driver.get_screenshot_as_file('D:/selenium/image/baidu.jpg') driver.implicitly_wait(秒) # 隐式等待,通过一定的时长等待页面上某一元素加载完成,若提前定位到元素,则继续执行。若超过时间未加载出,则抛出NoSuchElementException异常 driver.switch_to_frame(id或name属性值) # 切换到新表单(同一窗口)。若无id或属性值,可先通过xpath定位到iframe,再将值传给switch_to_frame() driver.switch_to.parent_content() # 跳出当前一级表单。该方法默认对应于离它最近的switch_to.frame()方法。 driver.switch_to.default_content() # 跳回最外层的页面。 driver.switch_to.window(窗口句柄) # 切换到新窗口。 driver.switch_to.alert() # 警告框处理。 driver.execute_script(js) # 调用js。 driver.get_cookies() # 获取当前会话所有cookie信息。 driver.get_cookie(cookie_name) # 返回字典的key为“cookie_name”的cookie信息,实例:driver.get_cookie("NET_SessionId") driver.add_cookie(cookie_dict) # 添加cookie。“cookie_dict”指字典对象,必须有name和value值。 driver.delete_cookie(name,optionsString) # 删除cookie信息。 driver.delete_all_cookies() # 删除所有cookie信息。
二、页面元素调用:
driver.find_element*.属性值
或
element=driver.find_element*
element.属性值
1、变量说明:
element.size # 获取元素的尺寸。 element.text # 获取元素的文本。 element.tag_name # 获取标签名称。
2、函数说明:
element.clear() # 清除文本。 element.send_keys(value) # 输入文字或键盘按键(需导入Keys模块)。 element.click() # 单击元素。 element.get_attribute(name) # 获得属性值 element.is_displayed() # 返回元素结果是否可见(True 或 False) element.is_selected() # 返回元素结果是否被选中(True 或 False) element.find_element*() # 定位元素,用于二次定位。