📌  相关文章
📜  Selenium Python中的 Web 驱动程序方法

📅  最后修改于: 2022-05-13 01:54:28.032000             🧑  作者: Mango

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)

输出 -
浏览器生成警报,如下所示 -
javascript-方法-Selenium-Python

Selenium Python中的 WebDriver 方法

使用 Webdriver 方法可以执行大量操作,例如获取 cookie、截屏等。这里列出了 webdriver 中使用的重要方法。

MethodDescription

add_cookieAdds a cookie to your current session.
backGoes one step backward in the browser history.
closeCloses the current window.
create_web_elementCreates a web element with the specified element_id.
delete_all_cookiesDelete all cookies in the scope of the session.
delete_cookieDeletes a single cookie with the given name.
execute_async_scriptAsynchronously Executes JavaScript in the current window/frame.
execute_scriptSynchronously Executes JavaScript in the current window/frame.
forwardGoes one step forward in the browser history.
fullscreen_windowInvokes the window manager-specific ‘full screen’ operation
get_cookieGet a single cookie by name. Returns the cookie if found, None if not.
get_cookiesReturns a set of dictionaries, corresponding to cookies visible in the current session.
get_logGets the log for a given log type
get_screenshot_as_base64Gets the screenshot of the current window as a base64 encoded string which is useful in embedded images in HTML.
get_screenshot_as_fileSaves a screenshot of the current window to a PNG image file.
get_screenshot_as_pngGets the screenshot of the current window as a binary data.
get_window_positionGets the x, y position of the current window.
get_window_rectGets the x, y coordinates of the window as well as height and width of the current window.
get_window_sizeGets the width and height of the current window.
implicitly_waitSets a sticky timeout to implicitly wait for an element to be found,
maximize_windowMaximizes the current window that webdriver is using
minimize_windowInvokes the window manager-specific ‘minimize’ operation
quitQuits the driver and closes every associated window.
refreshRefreshes the current page.
set_page_load_timeoutSet the amount of time to wait for a page load to complete before throwing an error.
set_script_timeoutSet the amount of time that the script should wait during an execute_async_script call before throwing an error.
set_window_positionSets the x, y position of the current window. (window.moveTo)
set_window_rectSets the x, y coordinates of the window as well as height and width of the current window.
current_urlGets the URL of the current page.
current_window_handleReturns the handle of the current window.
page_sourceGets the source of the current page.
titleReturns the title of the current page.