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*()         # 定位元素,用于二次定位。
原文地址:https://www.cnblogs.com/yitao326/p/11200787.html