Selenium Python中的 Web 驱动程序方法
Selenium 的Python模块是为使用Python执行自动化测试而构建的。 Selenium Python绑定提供了一个简单的 API 来使用Selenium WebDriver 编写功能/验收测试。要使用Selenium Python打开网页,请查看 - 使用 get 方法导航链接 - Selenium Python。仅仅能够去一些地方并不是很有用。我们真正想做的是与页面交互,或者更具体地说,与页面中的 HTML 元素交互。有多种使用Selenium查找元素的策略,checkout – Locating Strategies。 Selenium WebDriver 提供了各种有用的方法来控制会话,或者换句话说,浏览器。例如,添加 cookie、按下返回按钮、在选项卡之间导航等。
本文围绕可用于操作 DOM 的各种 WebDriver 方法和函数以及可在Python中使用Selenium WebDriver 执行的各种其他操作。
如何创建 WebDriver 对象?
要创建 WebDriver 的对象,请从文档中导入 WebDriver 类,并根据不同的 Web 浏览器和功能创建一个对象。之后就可以使用这个对象来执行Webdriver的所有操作了。例如,要创建 Firefox 的对象,可以使用 -
# import webdriver
from selenium import webdriver
# create webdriver object
driver = webdriver.Firefox()
论据——
Webdriver 接受各种参数来操作各种功能 -
- desired_capabilities - 何时请求的能力字典
启动浏览器会话。必需参数。 - browser_profile –selenium.webdriver.firefox.firefox_profile.FirefoxProfile 对象。
仅在请求 Firefox 时使用。选修的。 - proxy – 一个selenium.webdriver.common.proxy.Proxy 对象。浏览器会话将
如果可能,从给定的代理设置开始。选修的。 - keep_alive - 是否配置 remote_connection.RemoteConnection 使用
HTTP 保持活动状态。默认为假。 - file_detector – 在实例化期间传递自定义文件检测器对象。如果没有,
然后将使用默认的 LocalFileDetector()。 - options – 驱动程序 options.Options 类的实例
如何在Selenium中使用 Webdriver?
创建 Webdriver 对象后,打开网页,并使用以下语法和示例执行各种其他方法。可以执行各种操作,例如打开新选项卡、关闭选项卡、关闭窗口、添加 cookie、执行 javascript 等。
项目示例——
让我们尝试使用 https://www.geeksforgeeks.org/ 实现 WebDriver 方法,并通过selenium Python使用 javascript。
程序 -
# import webdriver
from selenium import webdriver
# create webdriver object
driver = webdriver.Firefox()
# get geeksforgeeks.org
driver.get("https://www.geeksforgeeks.org/")
# write script
script = "alert('Alert via selenium')"
# generate a alert via javascript
driver.execute_async_script(script)
输出 -
浏览器生成警报,如下所示 -
Selenium Python中的 WebDriver 方法
使用 Webdriver 方法可以执行大量操作,例如获取 cookie、截屏等。这里列出了 webdriver 中使用的重要方法。
Method | Description |
---|---|
add_cookie | Adds a cookie to your current session. |
back | Goes one step backward in the browser history. |
close | Closes the current window. |
create_web_element | Creates a web element with the specified element_id. |
delete_all_cookies | Delete all cookies in the scope of the session. |
delete_cookie | Deletes a single cookie with the given name. |
execute_async_script | Asynchronously Executes JavaScript in the current window/frame. |
execute_script | Synchronously Executes JavaScript in the current window/frame. |
forward | Goes one step forward in the browser history. |
fullscreen_window | Invokes the window manager-specific ‘full screen’ operation |
get_cookie | Get a single cookie by name. Returns the cookie if found, None if not. |
get_cookies | Returns a set of dictionaries, corresponding to cookies visible in the current session. |
get_log | Gets the log for a given log type |
get_screenshot_as_base64 | Gets the screenshot of the current window as a base64 encoded string which is useful in embedded images in HTML. |
get_screenshot_as_file | Saves a screenshot of the current window to a PNG image file. |
get_screenshot_as_png | Gets the screenshot of the current window as a binary data. |
get_window_position | Gets the x, y position of the current window. |
get_window_rect | Gets the x, y coordinates of the window as well as height and width of the current window. |
get_window_size | Gets the width and height of the current window. |
implicitly_wait | Sets a sticky timeout to implicitly wait for an element to be found, |
maximize_window | Maximizes the current window that webdriver is using |
minimize_window | Invokes the window manager-specific ‘minimize’ operation |
quit | Quits the driver and closes every associated window. |
refresh | Refreshes the current page. |
set_page_load_timeout | Set the amount of time to wait for a page load to complete before throwing an error. |
set_script_timeout | Set the amount of time that the script should wait during an execute_async_script call before throwing an error. |
set_window_position | Sets the x, y position of the current window. (window.moveTo) |
set_window_rect | Sets the x, y coordinates of the window as well as height and width of the current window. |
current_url | Gets the URL of the current page. |
current_window_handle | Returns the handle of the current window. |
page_source | Gets the source of the current page. |
title | Returns the title of the current page. |
在评论中写代码?请使用 ide.geeksforgeeks.org,生成链接并在此处分享链接。