Python Selenium函数介绍

465 阅读4分钟

在本教程中,我们将探索Selenium最有用的方法。Selenium提供了很多方法,使自动化过程变得简单,其中有些方法并不为人所知,但却很有用,使自动化/搜刮过程变得简单而有效。

导入模块和初始化Webdriver

Selenium webdriver是所有类和方法的父类。使用webdriver我们可以访问Selenium提供的所有方法。

from selenium import webdriver

driver = webdriver.Chrome("path of webdriver")

我们甚至可以直接使用Chrome()方法来代替 "webdriver的路径",而不需要传递webdriver路径的任何位置参数,只要我们在计算机中把浏览器的webdriver的路径 位置声明为全局环境变量

Python Selenium中的浏览器方法

让我们从你最常使用的浏览器方法开始,你应该对这些方法有一个很好的了解。

1.抓取一个网页

为了获取一个特定的网页,我们使用get 方法,并将网页的URL作为参数传递。

driver.get("https://m.youtube.com")

2.获取一个网页的标题

title 方法返回当前页面(网页)的标题,该标题被打印在代码执行的控制台/终端。

driver.title()

3.在页面历史中来回移动

通过使用后退前进方法,我们可以自动完成在浏览器中返回或前进网页的任务。

driver.back()
driver.forward()

4.全屏方法

调用这个方法将使浏览器(chrome)的窗口变成全屏。

driver.fullscreen_window()

5.设置屏幕上的窗口位置

通过使用这个方法,你将能够设置当前窗口的坐标。这个方法接收x和y坐标,并按照屏幕上的坐标将当前窗口(用Python-selenium代码打开)设置在该指定位置。

driver.set_window_position(500,500)

屏幕位置的原点(0,0)是屏幕的最左下方。

6.打开一个新标签

为了在新标签页上打开一个新的网站,我们将使用execute_script() 方法。在我们下面的例子中,代码将在一个新标签页中打开Twitter,同时打开我们的第一个网站YouTube。这个方法需要JavaScript来执行。

driver.execute_script("window.open('https://twitter.com')")

7.拍摄屏幕截图

Selenium提供了一个对当前窗口进行屏幕截图的方法。它是通过使用以下方法完成的

driver.get_screenshot_as_file('ss.png')

运行此代码后,一张名为 "ss "的图片将被保存在同一目录下。

8.刷新页面

通过使用刷新方法,我们可以刷新当前框架/网页。

driver.refresh()

9.选择一个元素

在网页中选择一个元素、图片、文本字段、视频、标签等,有多种方法和技巧。

10.点击一个元素

这个方法用于点击网络元素,如按钮或链接。

在下面的代码中,我们首先使用它的ID或任何其他选择器找到链接或按钮,然后我们在这个网络元素上调用点击方法。

elements = driver.find_element_by_id("id of link or button")
elements.click()

11.发送键(文本)

我们可以通过这个方法向网页中的任何文本字段发送一些文本。我们通过使用它的ID找到Gmail的文本框,然后用send_keys方法发送我们的文本。

elements = driver.find_element_by_id("gmail")
elements.send_keys(“some text we want to send”)

12.清除文本

它用于清除任何输入字段的文本。

elements = driver.find_element_by_id("gmail")
elements.send_keys("some text we want to send")
elements.clear()

13.使用自定义的JavaScript

使用这种方法,我们可以送入自定义的JavaScript代码,并执行事件提示等JavaScript所支持的各种操作。

driver.execute_script()

#practical code implementation
driver.execute_script("window.open('https://google.com')")

14.关闭当前标签而不关闭浏览器

通过使用关闭方法,我们可以在不关闭浏览器的情况下关闭当前标签。

driver.close()

15.关闭浏览器

我们可以用退出 方法关闭浏览器。很明显,整个浏览器窗口会关闭,关闭所有打开的标签。

driver.quit()

16.时间-睡眠(Imp.)

这实际上不是与Selenium库相关的功能或方法,但它是一个非常有用的提示,在各种情况下都能派上用场,比如等待一些任务的执行--加载网站、执行一些其他代码等。

这是时间模块的一部分,它已经与我们的python安装捆绑在一起了。

import time

#time.sleep(time to wait (in seconds))

time.sleep(5) #this will let the interpreter wait at this line for 5 seconds and then proceed with execution.

总结

本教程到此为止。有各种与Selenium相关的方法和功能,其中有些是你在使用Selenium时自己学会的,有些是我们坚持要在Selenium的官方文档 中查看的。