selenium.webdriver.remote.webdriver

WebDriver 实现。

1. class selenium.webdriver.remote.webdriver.WebDriver(command_executor='http://127.0.0.1:4444/wd/hub', desired_capabilities=None, browser_profile=None, proxy=None, keep_alive=False, file_detector=None, options=None)

通过向远程服务器发送命令来控制浏览器。该服务器应运行 WebDriver 协议,如https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol中所定义。

  • 属性:

    • session_id - 此 WebDriver 启动和控制的浏览器会话的字符串 ID。

    • capabilities - 返回此浏览器会话的有效功能。请参阅https://github.com/SeleniumHQ/selenium/wiki/DesiredCapabilities

    • command_executor - 用于执行命令的 remote_connection.RemoteConnection 对象。

    • error_handler - 用于处理错误的 errorhandler.ErrorHandler 对象。

创建一个使用有线协议发出命令的新驱动程序。

  • 参数:

    • command_executor - 表示远程服务器的 URL 或自定义的字符串

    • remote_connection.RemoteConnection 对象。默认为http://127.0.0.1:4444/wd/hub

    • desired_capabilities - 请求的功能字典,启动浏览器会话。必需参数。

    • browser_profile - 一个 selenium.webdriver.firefox.firefox_profile.FirefoxProfile 对象。仅在请求 Firefox 时使用。可选的。

    • proxy - 一个 selenium.webdriver.common.proxy.Proxy 对象。如果可能,请使用给定的代理设置启动。可选的。

    • keep_alive - 是否配置要使用的 remote_connection.RemoteConnection HTTP 保持活跃。默认为 False。

    • file_detector - 在实例化期间传递自定义文件检测器对象。如果没有,将使用默认的 LocalFileDetector()

    • options - 驱动程序选项 Options 的实例。

1.1. add_cookie(cookie_dict)

在当前会话中添加 cookie。

  • 参数:

    • cookie_dict: 一个字典对象,带有必需的键 - "name"、"value"; 可选键 - "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})
    

1.2. application_cache

返回 ApplicationCache 对象以与浏览器应用程序缓存交互

1.3. back()

在浏览器历史记录中向后退一步。

  • 用法:

    driver.back()
    

1.4. close()

关闭当前窗口。

  • 用法:

    driver.close()
    

1.5. create_web_element(element_id)

使用指定的 element_id 创建 Web 元素。

1.6. current_url

获取当前页面的 URL。

  • 用法:

    driver.current_url
    

1.7. current_window_handle

返回当前窗口的句柄。

  • 用法:

    driver.current_window_handle
    

1.8. delete_all_cookies()

删除会话范围内的所有 cookie。

  • 用法:driver.delete_all_cookies()

1.9. delete_cookie(name)

删除具有给定名称的单个 cookie。

  • 用法:driver.delete_cookie('my_cookie')

1.10. desired_capabilities

返回驱动程序当前所需的功能

1.11. execute(driver_command, params=None)

发送命令由 command.CommandExecutor 执行。

  • 参数:

    • driver_command:要作为字符串执行的命令的名称。

    • params:使用命令发送的命名参数的字典。

  • 返回:命令的 JSON 响应加载到字典对象中。

1.12. execute_async_script(script, *args)

异步执行当前窗口 / 框架中的 JavaScript。

  • 参数:

    • script: 要执行的 JavaScript。

    • *args: JavaScript 的任何适用参数。

  • 用法:

    script = "var callback = arguments[arguments.length - 1];window.setTimeout(function(){callback('timeout')}, 3000);"
    driver.execute_async_script(script)
    

1.13. execute_script(script, *args)

在当前窗口 / 框架中同步执行 JavaScript。

  • 参数:

    • script: 要执行的 JavaScript。

    • *args: JavaScript 的任何适用参数。

  • 用法:driver.execute_script('return document.title;')

1.14. file_detector

1.15. file_detector_context(*args, **kwds)

在有限的上下文中覆盖当前文件检测器(如有必要)。确保之后设置原始文件检测器。

例如:

webdriver.file_detector_context(UselessFileDetector):
someinput.send_keys('/etc/hosts')
  • 参数:

    • file_detector_class - 所需文件检测器的类。如果班级不同

    • 从当前的 file_detector 开始,然后使用 args 和 kwargs 对类进行实例化,并在上下文管理器的持续时间内用作文件检测器。

    • args - 在期间传递给文件检测器类的可选参数实例。

    • kwargs - 关键字参数,以与 args 相同的方式传递。

1.16. find_element(by='id', value=None)

找到给定 By 策略和定位器的元素。尽可能优先使用 find_element_by_* 方法。

  • 用法:element = driver.find_element(By.ID, 'foo')

  • 返回类型:WebElement

1.17. find_element_by_class_name(name)

按类名查找元素。

  • 参数:

    • name: 要查找的元素的类名。
  • 返回:

    • WebElement - 找到的元素
  • Raises :

    • NoSuchElementException - 如果找不到该元素
  • 用法:element = driver.find_element_by_class_name('foo')

1.18. find_element_by_css_selector(css_selector)

通过 css 选择器查​​找元素。

  • 参数:

    • css_selector - CSS 选择器字符串,例如:'a.nav#home'
  • 返回:

    • WebElement - 找到的元素
  • Raises :

    • NoSuchElementException - 如果找不到该元素
  • 用法:element = driver.find_element_by_css_selector('#foo')

1.19. find_element_by_id(id_)

按 id 查找元素。

  • 参数:

    • id_ - 要查找的元素的 id。
  • 返回:

    • WebElement - 找到的元素
  • Raises :

    • NoSuchElementException - 如果找不到该元素
  • 用法:element = driver.find_element_by_id('foo')

1.20. find_element_by_link_text(link_text)

按链接文本查找元素。

  • 参数:

    • link_text: 要查找的元素的文本。
  • 返回:

    • WebElement - 找到的元素
  • Raises :

    • NoSuchElementException - 如果找不到该元素
  • 用法:element = driver.find_element_by_link_text('Sign In')

1.21. find_element_by_name(name)

按名称查找元素。

  • 参数:

    • name: 要查找的元素的名称。
  • 返回:

    • WebElement - 找到的元素
  • Raises :

    • NoSuchElementException - 如果找不到该元素
  • 用法:element = driver.find_element_by_name('foo')

1.22. find_element_by_partial_link_text(link_text)

通过其链接文本的部分匹配来查找元素。

  • 参数:

    • link_text: 要部分匹配的元素的文本。
  • 返回:

    • WebElement - 找到的元素
  • Raises :

    • NoSuchElementException - 如果找不到该元素
  • 用法:element = driver.find_element_by_partial_link_text('Sign')

1.23. find_element_by_tag_name(name)

按标签名称查找元素。

  • 参数:

    • name - html 标记的名称(例如:h1,a,span)
  • 返回:

    • WebElement - 找到的元素
  • Raises :

    • NoSuchElementException - 如果找不到该元素
  • 用法:element = driver.find_element_by_tag_name('h1')

1.24. find_element_by_xpath(xpath)

通过 xpath 查找元素。

  • 参数:

    • xpath - 通过 xpath 查找元素。
  • 返回:

    • WebElement - 找到的元素
  • Raises :

    • NoSuchElementException - 如果找不到该元素
  • 用法:element = driver.find_element_by_xpath('//div/td[1]')

1.25. find_elements(by='id', value=None)

查找按策略和定位器给出的多个元素。尽可能优先使用 find_elements_by_* 方法。

  • 用法:elements = driver.find_elements(By.CLASS_NAME, 'foo')

  • 返回类型:WebElement 列表

1.26. find_elements_by_class_name(name)

按类名查找多个元素。

  • 参数:

    • name: 要查找的元素的类名。
  • 返回:

    • WebElement 列表 - 包含元素的列表(如果找到)。如果没有,则为空列表
  • 用法:elements = driver.find_elements_by_class_name('foo')

1.27. find_elements_by_css_selector(css_selector)

通过 css 选择器查​​找多个元素。

  • 参数:

    • css_selector - CSS 选择器字符串,例如: 'a.nav#home'
  • 返回:

    • WebElement 列表 - 包含元素的列表(如果找到)。如果没有,则为空列表
  • 用法:elements = driver.find_elements_by_css_selector('.foo')

1.28. find_elements_by_id(id_)

按 id 查找多个元素。

  • 参数:

    • id_ - 要查找的元素的 ID。
  • 返回:

    • WebElement 列表 - 包含元素的列表(如果找到)。如果没有,则为空列表
  • 用法:elements = driver.find_elements_by_id('foo')

1.29. find_elements_by_link_text(text)

按链接文本查找多个元素。

  • 参数:

    • link_text: 要查找的元素的文本。
  • 返回:

    • WebElement 列表 - 包含元素的列表(如果找到)。如果没有,则为空列表
  • 用法:elements = driver.find_elements_by_link_text('Sign In')

1.30. find_elements_by_name(name)

按名称查找元素。

  • 参数:

    • name: 要查找的元素的名称。
  • 返回:

    • WebElement 列表 - 包含元素的列表(如果找到)。如果没有,则为空列表
  • 用法:elements = driver.find_elements_by_name('foo')

1.31. find_elements_by_partial_link_text(link_text)

通过链接文本的部分匹配来查找多个元素。

  • 参数:

    • link_text: 要部分匹配的元素的文本。
  • 返回:

    • WebElement 列表 - 包含元素的列表(如果找到)。如果没有,则为空列表
  • 用法:elements = driver.find_elements_by_partial_link_text('Sign')

1.32. find_elements_by_tag_name(name)

按标签名称查找元素。

  • 参数:

    • name - html 标记的名称(例如:h1,a,span)
  • 返回:

    • WebElement 列表 - 包含元素的列表(如果找到)。如果没有,则为空列表
  • 用法:elements = driver.find_elements_by_tag_name('h1')

1.33. find_elements_by_xpath(xpath)

通过 xpath 查找多个元素。

  • 参数:

    • xpath - 要查找的元素的 xpath 定位器。
  • 返回:

    • WebElement 列表 - 包含元素的列表(如果找到)。如果没有,则为空列表
  • 用法:elements = driver.find_elements_by_xpath("//div[contains(@class, 'foo')]")

1.34. forward()

在浏览器历史记录中前进一步。

  • 用法:driver.forward()

1.35. fullscreen_window()

调用特定于窗口管理器的全屏操作

1.36. get(url)

在当前浏览器会话中加载网页。

1.37. get_cookie(name)

按名称获取单个 cookie。如果找到则返回 cookie,否则返回 None。

  • 用法:driver.get_cookie('my_cookie')

1.38. get_cookies()

返回一组字典,对应于当前会话中可见的 cookie。

  • 用法:driver.get_cookies()

1.39. get_log(log_type)

获取给定日志类型的日志

  • 参数:

    • log_type:将返回的日志类型
  • 用法:

    driver.get_log('browser')
    driver.get_log('driver')
    driver.get_log('client')
    driver.get_log('server')
    

1.40. get_screenshot_as_base64()

获取当前窗口的屏幕截图作为 base64 编码的字符串。

这在 HTML 中的嵌入图像中很有用。

  • 用法:driver.get_screenshot_as_base64()

1.41. get_screenshot_as_file(filename)

将当前窗口的屏幕截图保存到 PNG 图像文件。

如果存在任何 IOError 则返回 false,否则返回 True。在文件名中使用完整路径。

  • 参数:

    • filename: 希望将屏幕截图保存到的完整路径。这应该以 .png 扩展名结尾。
  • 用法:

    driver.get_screenshot_as_file('/Screenshots/foo.png')
    

1.42. get_screenshot_as_png()

获取当前窗口的屏幕截图作为二进制数据。

  • 用法:driver.get_screenshot_as_png()

1.43. get_window_position(windowHandle='current')

获取当前窗口的 x,y 位置。

  • 用法:driver.get_window_position()

1.44. get_window_rect()

获取窗口的 x,y 坐标以及当前窗口的高度和宽度。

  • 用法:driver.get_window_rect()

1.45. get_window_size(windowHandle='current')

获取当前窗口的宽度和高度。

  • 用法:driver.get_window_size()

1.46. implicitly_wait(time_to_wait)

设置超时以隐式等待找到元素,或完成命令。

此方法仅需要在每个会话中调用一次。

要设置 execute_async_script 调用的超时,请参阅 set_script_timeout。

  • 参数:

    • time_to_wait: 等待的时间(以秒为单位)
  • 用法:

    driver.implicitly_wait(30)
    

1.47. log_types

获取可用日志类型的列表

  • 用法:driver.log_types

1.48. maximize_window()

最大化 webdriver 正在使用的当前窗口

1.49. minimize_window()

调用特定于窗口管理器的最小化操作

1.50. mobile

1.51. name

返回此实例的基础浏览器的名称。

  • 用法:name = driver.name

1.52. orientation

获取设备的当前方向

  • 用法:orientation = driver.orientation

1.53. page_source

获取当前页面的源。

  • 用法:driver.page_source

1.54. quit()

退出驱动程序并关闭每个关联的窗口。

  • 用法:driver.quit()

1.55. refresh()

刷新当前页面。

  • 用法:driver.refresh()

1.56. save_screenshot(filename)

将当前窗口的屏幕截图保存到 PNG 图像文件。

如果存在任何 IOError 则返回 false,否则返回 True。在文件名中使用完整路径。

  • 参数:

    • filename: 您希望将屏幕截图保存到的完整路径。这应该以。png 扩展名结尾。
  • 用法:driver.save_screenshot('/Screenshots/foo.png')

1.57. set_page_load_timeout(time_to_wait)

设置等待页面加载完成的时间

  • 参数:

    • time_to_wait: 等待的时间
  • 用法:driver.set_page_load_timeout(30)

1.58. set_script_timeout(time_to_wait)

设置脚本在一段时间内应该等待的时间

  • 参数:

    • time_to_wait: 等待的时间(以秒为单位)
  • 用法:driver.set_script_timeout(30)

1.59. set_window_position(x, y, windowHandle='current')

设置当前窗口的 x,y 位置。(window.moveTo)

  • 参数:

    • x:用于设置窗口位置的 x 坐标(以像素为单位)

    • y:用于设置窗口位置的 y 坐标(以像素为单位)

  • 用法:driver.set_window_position(0,0)

1.60. set_window_rect(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)
    

1.61. set_window_size(width, height, windowHandle='current')

设置当前窗口的宽度和高度。(window.resizeTo)

  • 参数:

    • width:设置窗口的宽度(以像素为单位)

    • height:设置窗口的高度(以像素为单位)

  • 用法:driver.set_window_size(800,600)

1.62. start_client()

在开始新会话之前调用。可以重写此方法以定义自定义启动行为。

1.63. start_session(capabilities, browser_profile=None)

创建具有所需功能的新会话。

  • 参数:

    • browser_name - 要请求的浏览器的名称。

    • version - 要请求的浏览器版本。

    • platform - 请求浏览器的平台。

    • javascript_enabled - 新会话是否应支持 JavaScript。

    • browser_profile - 一个 selenium.webdriver.firefox.firefox_profile.FirefoxProfile 对象。仅在请求 Firefox 时使用。

1.64. stop_client()

执行退出命令后调用。可以重写此方法以定义自定义关闭行为。

1.65. 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')
    

1.66. switch_to_active_element()

不推荐,请使用 driver.switch_to.active_element

1.67. switch_to_alert()

不推荐,请使用 driver.switch_to.alert

1.68. switch_to_default_content()

不推荐,请使用 driver.switch_to.default_content

1.69. switch_to_frame(frame_reference)

不推荐,请使用 driver.switch_to.frame

1.70. switch_to_window(window_name)

不推荐,请使用 driver.switch_to.window

1.71. title

返回当前页面的标题。

  • 用法:title = driver.title

1.72. window_handles

返回当前会话中所有窗口的句柄。

  • 用法:driver.window_handles
© 2020 刘士. All rights reserved.

结果匹配 ""

    没有匹配的结果 ""