launch_app(id) | 启动由 id 指定的 Chrome 应用程序。 |
get_network_conditions() | 获取 Chrome 网络模拟设置。 返回: 一个字典。 例如: {‘latency’: 4, ‘download_throughput’: 2, ‘upload_throughput’: 2,‘offline’: False} |
set_network_conditions(self, **network_conditions) | 设置 Chrome 网络模拟设置。 args: - network_conditions:带有条件规范的字典。 用法: driver.set_network_conditions( offline=False, latency=5, #额外延迟(毫秒) download_throughput=500 * 1024, # 最大吞吐量 upload_throughput=500 * 1024) # 最大吞吐量 注意:“吞吐量”可用于设置两者(用于下载和上传)。 |
execute_cdp_cmd(self, cmd, cmd_args) | 执行 Chrome Devtools Protocol 命令并获取返回结果 命令和命令参数应遵循 chrome devtools 协议域/命令,请参阅链接 https://chromedevtools.github.io/devtools-protocol/ args: - cmd:一个str,命令名 - cmd_args:一个字典,命令参数。 如果没有命令参数,则为空 dict {} 用法: driver.execute_cdp_cmd(‘Network.getResponseBody’, {‘requestId’: requestId}) 返回: 一个字典,如果没有返回结果,则为空字典 {}。 例如 getResponseBody: {‘base64Encoded’: False, ‘body’: ‘响应正文字符串’} |
quit() | 关闭浏览器并关闭启动 ChromeDriver 时启动的 ChromeDriver 可执行文件 |
create_options() | 创建选项 |
file_detector_context(self, file_detector_class, *args, **kwargs) | 在有限的上下文中覆盖当前文件检测器(如有必要)。 确保之后设置原始文件检测器。 例子: with webdriver.file_detector_context(UselessFileDetector): someinput.send_keys(’/etc/hosts’) args: - file_detector_class - 所需文件检测器的类。 如果该类与当前的 file_detector 不同,则使用 args 和 kwargs 实例化该类,并在上下文管理器期间用作文件检测器。 - args - 在实例化期间传递给文件检测器类的可选参数。 - kwargs - 关键字参数,以与 args 相同的方式传递。 |
mobile | |
name | 返回此实例的底层浏览器的名称。 用法: name = driver.name |
start_client() | 在开始新会话之前调用。 可以重写此方法以定义自定义启动行为。 |
stop_client() | 在执行退出命令后调用。 可以重写此方法以定义自定义关闭行为。 |
start_session(self, capabilities, browser_profile=None) | 创建具有所需功能的新会话。 args: - browser_name - 要请求的浏览器的名称。 - 版本 - 要请求的浏览器版本。 - 平台 - 请求浏览器的平台。 - javascript_enabled - 新会话是否应支持 JavaScript。 - browser_profile - selenium.webdriver.firefox.firefox_profile.FirefoxProfile 对象。 仅在请求 Firefox 时使用。 |
create_web_element(element_id) | 使用指定的 element_id 创建一个 Web 元素。 |
execute(self, driver_command, params=None) | 发送要由 command.CommandExecutor 执行的命令。 args: - driver_command:作为字符串执行的命令的名称。 - params:与命令一起发送的命名参数字典。 返回: 命令的 JSON 响应加载到字典对象中。 |
get(url) | 在当前浏览器会话中加载网页。 |
title | 返回当前页面的标题。 |
find_element_by_id(id) | 通过 id 查找元素。 |
find_elements_by_id(id) | 通过 id 查找元素列表。 |
find_element_by_xpath(xpath) | 通过 xpath 查找元素。 |
find_elements_by_xpath(xpath) | 通过 xpath 查找元素列表。 |
find_element_by_link_text( link_text) | 通过链接文本查找元素。 args: - link_text:要查找的元素的文本。 返回: - WebElement - 找到的元素 提高: - NoSuchElementException - 如果未找到该元素 用法: element = driver.find_element_by_link_text(‘登录’) |
find_elements_by_link_text( link_text) | 通过链接文本查找元素列表。 |
find_element_by_partial_link_text(link_text) | 通过其链接文本的部分匹配来查找元素。 |
find_elements_by_partial_link_text(link_text) | 通过其链接文本的部分匹配来查找元素列表。 |
find_element_by_name(name) | 按名称查找元素。 |
find_elements_by_name(name) | 按名称查找元素列表。 |
find_element_by_tag_name(name) | 按标签名称查找元素。 args: - 名称 - html 标签的名称(例如:h1、a、span) 返回: - WebElement - 找到的元素 提高: - NoSuchElementException - 如果未找到该元素 用法: element = driver.find_element_by_tag_name(‘h1’) |
find_elements_by_tag_name(name) | 按标签名称查找元素列表。 |
find_element_by_class_name(name) | 按类名查找元素。 |
find_elements_by_class_name(name) | 按类名查找元素列表。 |
find_element_by_css_selector(css_selector) | 通过 css 选择器查找元素。 args: - css_selector - CSS 选择器字符串,例如:‘a.nav#home’ 返回: - WebElement - 找到的元素 提高: - NoSuchElementException - 如果未找到该元素 用法: element = driver.find_element_by_css_selector(’#foo’) |
find_elements_by_css_selector(css_selector) | 通过 css 选择器查找元素列表。 |
execute_script(self, script, *args) | 在当前窗口/框架中同步执行 JavaScript。 args: - 脚本:要执行的 JavaScript。 - *args:任何适用于您的 JavaScript 的参数。 用法: driver.execute_script(‘return document.title;’) |
execute_async_script(self, script, *args) | 在当前窗口/框架中异步执行 JavaScript。 args: - script :要执行的 JavaScript。 - *args:任何适用于您的 JavaScript 的参数。 用法: script = "var callback = arguments[arguments.length - 1]; window.setTimeout(function(){ callback(‘timeout’) }, 3000);" driver.execute_async_script(script) |
current_url | 获取当前页面的 URL。 |
page_source | 获取当前页面的来源。 |
close() | 关闭当前窗口。 |
quit() | 退出驱动程序并关闭每个关联的窗口。 |
current_window_handle | 返回当前窗口的句柄。 |
window_handles | 返回当前会话中所有窗口的句柄。 |
maximize_window() | 最大化 webdriver 正在使用的当前窗口。 |
fullscreen_window() | 调用特定于窗口管理器的“全屏”操作。 |
minimize_window() | 调用特定于窗口管理器的“最小化”操作。 |
switch_to | 返回: - SwitchTo:一个包含所有选项的对象,可以将焦点切换到 用法: element = driver.switch_to.active_element alert = driver.switch_to.alert driver.switch_to.default_content() driver.switch_to.frame(‘frame_name’) driver.switch_to.frame(1) driver.switch_to.frame(driver.find_elements_by_tag_name(“iframe”)[0]) driver.switch_to.parent_frame() driver.switch_to.window(‘main’) |
switch_to_active_element() | 不推荐使用 driver.switch_to.active_element |
switch_to_window(self, window_name) | 不推荐使用 driver.switch_to.window |
switch_to_frame(self, frame_reference) | 不推荐使用 driver.switch_to.frame |
switch_to_default_content() | 不推荐使用 driver.switch_to.default_content |
switch_to_alert() | 不推荐使用 driver.switch_to.alert |
back() | 在浏览器历史中倒退了一步。 |
forward() | 在浏览器历史上向前迈进了一步。 |
refresh() | 刷新当前页面。 |
get_cookie(name) | 按名称获取单个 cookie。 如果找到则返回 cookie,如果没有则返回 None。 |
get_cookies() | 返回一组字典,对应于当前会话中可见的 cookie。 |
delete_cookie(name) | 删除具有给定名称的单个 cookie。 |
delete_all_cookies() | 删除会话范围内的所有 cookie。 |
add_cookie(cookie_dict) | 将 cookie 添加到当前会话。 args: - cookie_dict:一个字典对象,带有必需的keys - “name”和“value”; 可选keys - “path”, “domain”, “secure”, "expiry" 用法: driver.add_cookie({‘name’ : ‘foo’, ‘value’ : ‘bar’}) driver.add_cookie({‘name’ : ‘foo’, ‘value’ : ‘bar’, ‘path’ : ‘/’}) driver.add_cookie({‘name’ : ‘foo’, ‘value’ : ‘bar’, ‘path’ : ‘/’, ‘secure’:True}) |
implicitly_wait(time_to_wait) | 设置粘性超时以隐式等待找到元素或完成命令。 该方法每次会话只需调用一次。 要设置调用 execute_async_script 的超时时间,请参阅 set_script_timeout。 args: - time_to_wait:等待的时间(以秒为单位) 用法: driver.implicitly_wait(30) |
set_script_timeout(time_to_wait) | 设置脚本在 execute_async_script 调用期间在引发错误之前应等待的时间量。 args: - time_to_wait:等待的时间(以秒为单位) 用法: driver.set_script_timeout(30) |
set_page_load_timeout(time_to_wait) | 设置在引发错误之前等待页面加载完成的时间量。 args: - time_to_wait:等待的时间量 用法: driver.set_page_load_timeout(30) |
find_element(self, by=By.ID, value=None) | 查找给定 By 策略和定位器的元素。 可能时首选 find_element_by_* 方法。 用法: element = driver.find_element(By.ID, ‘foo’) |
find_elements(self, by=By.ID, value=None) | 查找给定 By 策略和定位器的元素列表。 尽可能首选 find_elements_by_* 方法。 用法:elements = driver.find_elements(By.CLASS_NAME, ‘foo’) |
desired_capabilities | 返回正在使用的驱动程序当前所需的功能。 |
get_screenshot_as_file(filename) | 将当前窗口的屏幕截图保存为 PNG 图像文件。 如果存在任何 IOError,则返回 False,否则返回 True。 在文件名中使用完整路径。 args: - 文件名:您希望将屏幕截图保存到的完整路径。 这应该以 .png 扩展名结尾。 用法: driver.get_screenshot_as_file(’/Screenshots/foo.png’) |
save_screenshot(filename) | 将当前窗口的屏幕截图保存为 PNG 图像文件。 如果存在任何 IOError,则返回 False,否则返回 True。 在文件名中使用完整路径。 args: - 文件名:您希望将屏幕截图保存到的完整路径。 这应该以 .png 扩展名结尾。 用法: driver.save_screenshot(’/Screenshots/foo.png’) |
get_screenshot_as_png() | 以二进制数据形式获取当前窗口的屏幕截图。 |
get_screenshot_as_base64() | 获取当前窗口的屏幕截图作为 base64 编码字符串,这在 HTML 中的嵌入图像中很有用。 |
set_window_size(self, width, height, windowHandle=‘current’) | 设置当前窗口的宽度和高度。 (window.resizeTo) args: - 宽度:设置窗口的宽度(以像素为单位) - 高度:设置窗口的高度(以像素为单位) 用法: driver.set_window_size(800,600) |
get_window_size(self, windowHandle=‘current’) | 获取当前窗口的宽度和高度。 |
set_window_position(self, x, y, windowHandle=‘current’) | 设置当前窗口的 x,y 位置。 (window.moveTo) args: - x:设置窗口位置的 x 坐标(以像素为单位) - y:设置窗口位置的 y 坐标(以像素为单位) 用法: driver.set_window_position(0,0) |
get_window_position(self, windowHandle=‘current’) | 获取当前窗口的 x,y 位置。 |
get_window_rect() | 获取窗口的 x、y 坐标以及当前窗口的高度和宽度。 |
set_window_rect(self, x=None, y=None, width=None, height=None) | 设置窗口的 x、y 坐标以及当前窗口的高度和宽度。 用法: driver.set_window_rect(x=10, y=10) driver.set_window_rect(width=100, height=200) driver.set_window_rect(x=10, y=10, width=100, height=200) |
file_detector | |
file_detector(detector) | 设置发送键盘输入时使用的文件检测器。 默认情况下,这被设置为什么都不做的文件检测器。 see FileDetector see LocalFileDetector see UselessFileDetector args: - 检测器:要使用的检测器。 不得为无。 |
orientation | 获取设备的当前方向 |
orientation(value) | 设置设备的当前方向 args: - 值:将其设置为的方向。 用法: driver.orientation = ‘landscape’ |
application_cache | 返回一个 ApplicationCache 对象以与浏览器应用程序缓存进行交互 |
log_types | 获取可用日志类型的列表 |
get_log(log_type) | 获取给定日志类型的日志 args: - log_type:将返回的日志类型 driver.get_log(‘browser’) driver.get_log(‘driver’) driver.get_log(‘client’) driver.get_log(‘server’) |