在这个Selenium Python教程中,学习如何使用Python编程语言在不同的网络浏览器中编码和执行Selenium测试脚本:

在过去的5年中,Python语言在业界呈现出指数级增长,主要是因为它简单易学。 Selenium是使用最广泛的开源自动化测试工具之一。

现在考虑将Selenium与Python相结合,想象一下一个自动化框架可以变得多么强大。

在本教程中,我们将学习如何安装Python,用Python绑定Selenium库,如何安装和配置PyCharm IDE。 在本教程结束时,你将能够在不同的网络浏览器中使用Python编程语言编码和执行Selenium测试脚本。

安装Python

安装Python相当简单。 点击这里,下载最新的版本。 它将给你一个.exe文件。 以所有的默认设置进行安装。

>>点击这里了解安装过程的步骤细节。

用Python安装Selenium库

当你安装Python时,Selenium库默认是不安装的。 但是要验证Selenium库是否已经存在于你的Python中,打开命令提示符,导航到你安装Python的路径,然后输入" 管道清单 ".这个命令将列出当前在你的Python中可用的所有库。

什么是PIP

PIP是Preferred Installer Program的缩写,它是流行的软件包管理器,用于安装用Python编写的软件包。 PIP默认与Python一起安装。 现在要把所有需要的Selenium库与Python绑定/安装,我们需要执行一个命令

pip安装Selenium

一旦你执行该命令,Selenium库将被下载和安装。

现在使用以下方法验证Selenium库 管道清单 指挥。

下载并安装Python IDE

为了编写和执行脚本或程序,我们需要IDE。 因此,选择同样的IDE变得非常重要。 PyCharm是最受欢迎的IDE之一,特别是对于Python语言。 要下载PyCharm,请点击这里,并下载社区版,它是免费和开源的。

它将给你一个.exe文件。 继续并以所有默认设置进行安装。

在PyCharm中配置Selenium

一旦安装成功,进入windows搜索,输入PyCharm,你应该看到PyCharm社区版,如下图所示。 点击它来打开PyCharm。

在编写任何代码之前,我们需要首先在PyCharm中配置Selenium库。

在PyCharm中为一个项目配置Selenium有两种方法。 这些情况如下:

#1) 使用PyCharm中的可用的Packages选项。

当你第一次打开PyCharm时,你将被导航到创建新项目窗口。

点击创建新项目。 默认情况下,项目名称为无标题。 输入一个合适的项目名称。 点击创建。

请注意: 你可以改变项目的位置。

你的项目将被成功创建。 要验证Selenium库是否配置好了,请进入 文件 -> 设置 在设置页面,进入 项目 -> 项目解释者 .

在软件包下,你应该看到Selenium软件包。 如果缺少这个软件包,请点击" + "在可用的软件包下,搜索Selenium并点击安装软件包。 现在验证Selenium软件包是否已经安装。

#2) 使用继承自全局网站包的选项

这个方法相当简单。 转到 文件-> 新项目 在创建一个新项目时,选择" 继承全局网站包 "项目创建后,导航到 文件 -> 设置-> 项目 -> 项目解释器 , 你将能够看到已经安装的Selenium软件包。

向PyCharm添加驱动程序

为了实现任何网络应用的自动化,我们需要有一个网络浏览器,为了指示在哪个浏览器上执行脚本,我们需要该特定浏览器的驱动程序。 所有网络浏览器的驱动程序都可以在这里找到。 打开网页,导航到浏览器。

点击进入 文件 所需的浏览器,并选择稳定版本的驱动程序。

要下载Chrome浏览器 : 浏览Chrome浏览器文档,点击 "下载中可获得的所有版本 "下的 "当前稳定版本",并下载适合你的操作系统的压缩文件。

例如:"Chromedriver_win32.zip" 适用于Windows。

要下载Firefox: 导航到Firefox文档,点击geckodriver发布,向下滚动,找到所有操作系统的驱动。

例子: 对于Windows 64,选择 geckodriver-v0.26.0-win64.zip。

要下载Microsoft Edge: 导航到Edge文档。 这将直接打开下载下的驱动程序页面。 例子: x64用于Windows 64位操作系统

使用Selenium Python的第一个程序

现在PyCharm已经准备好接受和执行Selenium代码了。 为了组织好,我们将创建2个目录(目录类似于文件夹)。 我们将用一个目录来放置所有的测试脚本,我们称之为 "Main",另一个目录用来放置所有网络浏览器的驱动,我们称之为 "Driver"。

右键点击项目,创建新目录,如下图所示:

在主目录下创建New Python File,这将创建一个.py文件并打开编辑器。

现在复制解压后的.exe驱动程序、 例子、 Chromedriver.exe 并将该文件粘贴到Drivers目录中。

现在我们已经准备好使用Selenium Webdriver和Python编写我们的第一个自动化代码。

让我们首先在下表中定义通过自动化实现的步骤。

步骤 行动 预期的结果
1 打开Chrome浏览器 Chrome浏览器应成功启动
2 导航到www.google.com 应打开谷歌网页
3 将浏览器窗口最大化 浏览器窗口应该被最大化
4 在谷歌文本字段中输入LinkedIn登录信息 应输入正确的文本
5 按回车键 搜索页面应显示适当的结果
6 点击LinkedIn登录网址 应该出现LinkedIn登录页面
7 输入用户名和密码 应接受用户名和密码
8 点击登录按钮 应显示LinkedIn主页
9 验证页面的标题 LinkedIn应该显示在控制台中
10 验证页面的当前URL //www.linkedin.com/feed/,应该在控制台显示。
11 关闭浏览器 浏览器窗口应关闭

为了实现上述方案,我们将使用一些经常使用的Selenium Python命令。

硒的.Webdriver 所以我们需要指示Python从Selenium导入Webdriver。 Keys类允许我们使用键盘上的按键,如ENTER、ALT等。

 from selenium import Webdriver from selenium.webdriver.common.keys import Keys 

#1) 打开Chrome浏览器

为了打开任何浏览器,我们需要创建一个特定浏览器的实例。 在这个例子中,让我们创建一个Chrome Webdriver的实例,并提及Chromedriver.exe的位置。 就在不久前,我们下载并提取了所有的浏览器驱动程序,并将其放在PyCharm的Driver目录中。

右键点击 Chromedriver.exe 复制绝对路径 并按下面的方法粘贴Webdriver命令。

 driver = Webdriver.chrome("C:\Users\Admin\PyCharmProjects\SeleniumTest\Drivers\chromedriver.exe" ) 

#2)导航到www.google.com

ǞǞǞ 驱动程序.获取 方法将导航到一个由URL提到的页面。 你需要指定完整的URL。

例子: //www.google.com

 driver.get("//www.google.com/") 

#3) 将浏览器窗口最大化

驱动程序.最大化窗口 将浏览器窗口最大化

 driver.maximize_window() 

#4)在谷歌文本字段中输入LinkedIn登录信息

为了搜索LinkedIn登录,我们必须首先确定谷歌搜索文本框。 Selenium提供了各种策略来定位页面上的元素。

>> 关于Selenium WebDriver定位器的更多细节,请参考这里。

a) 转到该链接

b) 在搜索文本框上点击右键,选择检查元素。

c) 我们有一个名字字段,它有一个唯一的值 "q"。 所以我们将使用 按名称查找元素 定位器来识别搜索文本框。

d) send_keys 函数将允许我们输入任何文本。 例子: "LinkedIn登录"

e) 转到Pycharm并 输入以下命令:

 driver.find_element_by_name("q").send_keys("LinkedIn Login") 

#5)按回车键

为了导航到搜索结果页面,我们必须点击谷歌搜索按钮或在键盘上敲击回车键。 在这个例子中,我们将探讨如何通过命令敲击回车键。 按键.输入 命令将有助于点击键盘上的回车键。

 driver.find_element_by_name("q").send_keys(Keys.Enter ) 

#6)点击LinkedIn登录网址

一旦我们登陆到搜索结果页面,我们必须点击LinkedIn登录链接。 我们将使用 查找元素的部分链接文本 以实现这一目标。

 driver.find_element_by_partial_link_text("LinkedIn Login").click() 

#7) 输入用户名和密码

用户名和密码字段都有唯一的ID值,并使用send_keys来输入字段。

 driver.find_element_by_id("username").send_keys("enter your username") driver.find_element_by_id("password").send_keys("enter your password") 

#8)点击登录按钮

签到是页面上唯一可用的按钮。 所以我们可以使用tagname定位器来识别。 find_element_by_tag_name.

 driver.find_element_by_tag_name("button").click() 

#9)验证页面的标题

driver.title将获取网页的标题,print命令将在控制台打印网页的标题。 请确保使用大括号()。

 print(driver.title) 

##10)验证页面的当前URL

ǞǞǞ 驱动程序.current_url 将获取该页面的URL。 印刷品 将在控制台输出当前的URL。

 print(driver.current_url) 

#11)关闭浏览器

最后,浏览器窗口被关闭 驱动程序.关闭 .

 driver.close() 

以下是完整的测试脚本:

 from selenium import webdriver from selenium.webdriver.common.keys import Keys Import time driver = webdriver.Chrome(r "C:\Users\Admin\PycharmProjects\SeleniumTest\Drivers\chromedriver.exe") driver.get("//www.google.com/") driver.maximum_window() driver.find_element_by_name("q") .send_keys("LinkedIn login") driver.find_element_by_name("q") .send_keys(Keys.enter)driver.find_element_by_partial_link_text("LinkedIn Login").click() driver.find_element_by_id("username").send_keys("enter your username") driver.find_element_by_id("password").send_keys("enter your password") driver.find_element_by_tag_name("button").click() time. sleep(5) print(driver.title) print(driver.current_url) driver.close( 

请注意: #用于对该行进行评论。

time.sleep(sec)用于延迟下一行的执行。

运行该计划

有多种方法来执行程序

#1) 使用PyCharm IDE运行

这很简单,一旦你完成了编码,你可以直接在编辑器上点击右键,然后点击运行 "程序名称 "或Ctrl+Shift+F10快捷键。

执行后,结果将显示在下面的控制台中。 现在让我们运行我们的示例代码并验证结果。

语法错误-Unicode错误

运行该代码后、 我们在控制台中得到以下错误。

让我们尝试解决同样的问题。 问题出在Chrome驱动程序的路径上。 C:\Users\Admin\PyCharmProjects\SeleniumTest\Drivers\chromedriver.exe

\U 在C:\Users中成为Unicode字符,因此\U被转换为Unicode转义字符,从而使路径无效。 有2种方法来解决这个问题。

#A)添加额外的反斜线

 driver = Webdriver.chrome("C:\\Users\Admin\PyCharmProjects\\SeleniumTest\Drivers\chromedriver.exe") 

#B) 在字符串前加上r:

这将使字符串被视为原始字符串,Unicode字符将不被考虑。

 driver = Webdriver.chrome(r "C:\Users\Admin\PyCharmProjects\SeleniumTest\Drivers\Chromedriver.exe" ) 

类型错误:模块对象不可调用

再次执行代码。 现在我们在控制台中出现了一个不同的错误。

原因是当你写 浏览器 有2个选项显示 chrome(Selenium Webdriver )和 Chrome(Selenium.Webdriver.Chrome.Webdriver)。 如下图所示。

我们应该选择Chrome(Selenium.Webdriver.Chrome.Webdriver),如果你选择前一个选项,你最终会得到上面截图中的错误。

现在让我们再次运行该脚本,这次它运行成功,并在控制台打印出网页的标题和当前URL。

请注意: 如果你仍然遇到问题。 试试下面的命令:

 driver = Webdriver.Chrome(executable_path= "C:\\Users\Admin\PyCharmProjects\SeleniumTest\Drivers\chromedriver.exe" ) 

#2) 在不同的浏览器中运行脚本:

要在任何其他浏览器中运行相同的脚本,你只需要在上述示例代码中创建该特定浏览器的实例,而不是Chrome。

例如,火狐浏览器的例子: 用Firefox取代Chrome,如下图所示:

 driver = Webdriver.Firefox(executable_path="C:\\Users\Admin\PyCharmProjects\SeleniumTest\Drivers\geckodriver.exe" ) 

对于微软的Edge浏览器,用Edge取代Chrome,如下图所示:

 driver = Webdriver.Edge(executable_path="C:\\Users\Admin\PyCharmProjects\SeleniumTest\Drivers\msedgedriver.exe" ) 

#3) 在命令提示符下运行脚本:

在你编写代码的目录上点击右键。 例子: "Main",然后复制绝对路径。 打开命令提示符,用命令'cd'改变目录为Python目录,并点击右键。 一旦目录改变,输入Python "程序名"。

Python FirstTest.py

它将执行该代码,结果将显示在命令提示符中。

关于Selenium Python的常见问题

问题#1)Selenium Python是用来做什么的?

答案是: 大量的程序员已经开始使用Selenium与Python进行测试自动化。 下面提到的是其中几个原因:

  • 对于网络应用程序测试,Selenium是最广泛使用的自动化工具,它提供各种功能。 这些功能是为了满足网络应用程序测试的要求而建立的。
  • 由于Python语言的语法问题较少,而且可以用简单的关键词进行编码,因此获得了很多人的青睐。
  • Selenium向各种浏览器发送Python的标准命令,而不考虑浏览器的设计。
  • 绑定Python和Selenium提供各种API,帮助编写功能测试。
  • Selenium和Python都是开源的。 所以任何人都可以轻松地下载并在任何环境下使用它。

问题#2)如何在Selenium Python中打开Chrome浏览器?

答案是: 从这里下载Chrome驱动程序并解压.exe文件。 在创建Chrome Webdriver实例时指定.exe文件的完整路径。

 driver = Webdriver.Chrome("C:\\Users\Admin\\PyCharmProjects\\SeleniumTest\Drivers\Chromedriver.exe" ) 

问题#3) 如何解决Python中的Unicode错误?

答案是: 有2种方法来解决这个问题。

a) 要么需要添加额外的反斜线

 driver = Webdriver.Chrome("C:\\Users\Admin\\PyCharmProjects\\SeleniumTest\Drivers\Chromedriver.exe" ) 

b) 这将使该字符串被视为原始字符串,Unicode字符将不被考虑。

 driver = Webdriver.Chrome(r "C:\Users\Admin\PyCharmProjects\SeleniumTest\Drivers\Chromedriver.exe" ) 

问题#4)如何在Selenium Python中运行Firefox?

答案是: 从这里下载Firefox geckodriver并解压.exe文件。 在创建Firefox geckodriver的实例时指定.exe文件的完整路径。 Firefox Webdriver。

 driver = Webdriver.Firefox(executable_path="C:\\Users\Admin\PyCharmProjects\SeleniumTest\Drivers\geckodriver.exe")。 driver.get("//www.google.com") 

这将在火狐浏览器中打开谷歌的网页

问题#5)我如何获得Selenium for Python?

答案是: 安装完Python后,打开命令提示符,将目录改为Python所在的文件夹,执行pip install Selenium。 这将把最新的Selenium库添加到Python。

C:\Users\Admin\AppData\Local\Programs\Python\Python38-32> pip install Selenium.

你可以在Python的Lib\site-packages文件夹下找到Selenium库。

总结

在本教程中,我们已经学习了使用Selenium Webdriver和Python语言开始编写脚本所需的基本知识。 下面提到的是本教程的精髓:

  1. 事实证明,Python和Selenium是最受程序员欢迎的。 因此,有很多支持性的文件可供选择。
  2. Selenium库与Python的绑定可以通过一个命令pip install Selenium来完成。
  3. PyCharm是使用最广泛的IDE,特别是针对Python语言。 社区版是完全免费使用的。 此外,它有很多可用的包,这将有助于编写功能测试,而且安装非常简单。
  4. 我们还学习了如何下载不同的浏览器驱动程序,并在PyCharm的测试脚本中添加它们,这样我们就可以在指定的浏览器中测试我们的应用程序。
  5. 我们学习了不同的Selenium命令,利用这些命令我们可以很容易地实现网络应用程序的自动化功能。
  6. 我们还在IDE和命令提示符上运行了测试脚本。
滚动到顶部