Selenium 简明教程
Selenium with Python Tutorial
Setup Selenium with Python and Launch Browser
Step 1 − 从链接 Latest Version for Windows 下载并安装 Python。
要详细了解如何设置 Python,请参考链接 Python Environment Setup 。
成功安装 Python 后,从命令提示符运行以下命令 python –version ,以确认其安装。执行的命令的输出将指向安装在计算机中的 Python 版本。
Step 2 − 从链接 PyCharm 安装名为 PyCharm 的 Python 代码编辑器。
使用此编辑器,我们可以开始研究一个 Python 项目以启动我们的测试自动化。要详细了解如何设置 PyCharm,请参考以下链接 Pycharm Tutorial 。
Step 3 − 从命令提示符运行命令 pip install selenium 。这样可以安装 Selenium。要确认机器中安装的 Selenium 版本,请运行命令 −
pip show selenium
此命令的输出给出了以下结果 −
Name: selenium
Version: 4.19.0
Summary: None
Home-page: https://www.selenium.dev
Author: None
Author-email: None
License: Apache 2.0.
Step 4 − 完成步骤 3 后重新启动 PyCharm。
Step 5 − 打开 PyCharm 并通过导航到文件菜单创建新项目。
在“位置”字段中输入项目名称和位置,然后点击“创建”按钮。
Step 6 − 从 PyCharm 编辑器的右下角,选择“解释器设置”选项。
从左侧选择 Python 解释器选项,然后单击“+”。
Step 7 − 在可用软件包弹出窗口中的包搜索框中输入“selenium”,然后搜索结果将与右侧说明一起出现。说明包含有关要安装的 Selenium 软件包版本的的信息。
还可以选择在指定版本字段旁边安装特定版本的 Selenium 软件包。然后单击“安装软件包”按钮。安装成功后,应显示消息“软件包‘selenium’已成功安装”。
Step 8 - 在可用软件包弹出窗口中的软件包搜索框中输入 webdriver-manager,并以相同方式安装它。
退出“可用包”弹出窗口。
Step 9 - selenium 和 webdriver-manager 这两个软件包都应反映在程序包下。单击确定按钮。重新启动 PyCharm。
Step 10 - 右键单击项目文件夹创建第一个测试用例。在这里,我们已将项目名称指定为 SeleniumPython。然后单击新建,最后单击 Python 文件选项。
Step 11 - 输入一个文件名(例如 Test1.py),然后选择 Python 文件选项,最后单击 Enter。
Test1.py 应出现在 SeleniumPython 项目文件夹下的左侧。
Step 12 - 打开新创建的 Python 文件(名称为 Test1.py),并获取下面页面的标题 - Selenium Practice - Alerts 。
Example
from selenium import webdriver
# create instance of webdriver
driver = webdriver.Chrome()
# launch application
driver.get("https://www.tutorialspoint.com/selenium/practice/alerts.php")
# get page title
print("Page title is: " + driver.title)
# quitting browser
driver.quit
Page title is: Selenium Practice - Alerts
Process finished with exit code 0
在上例中,我们启动了一个应用程序,并通过消息 - Page title is: Selenium Practice - Alerts 在控制台中获取了其页面标题。
输出显示消息 - Process with exit code 0 ,这意味着上述代码已成功执行。
Identify Element and Check Its Functionality using Selenium Python
当应用程序启动时,用户在网页上对网页元素执行操作,比如单击链接或按钮、在输入框内输入文本、提交表单,等等,以自动化测试用例。
第一步是定位元素。Selenium 中提供了各种定位器,如 id、classname、class、name、tagname、partial link text、link text、tagname、xpath 和 css。这些定位器与 Python 中的 find_element() 方法搭配使用。
例如,driver.find_element("classname", 'btn-primary') 定位类名称属性值为 btn-primary 的第一个元素。如果找不到具有此类名称属性匹配值的元素,则抛出 NoSuchElementException。
我们来看看下面的图片中 Click Me 按钮的 html 代码 -
其类名称属性的值为 btn-primary 。单击点击我按钮,之后文本 You have done a dynamic click 会出现在页面上。
Example
from selenium import webdriver
from selenium.webdriver.common.by import By
# create instance of webdriver
driver = webdriver.Chrome()
# implicit wait of 15 seconds
driver.implicitly_wait(15)
# launch application
driver.get("https://www.tutorialspoint.com/selenium/practice/buttons.php")
# identify element with class name
button = driver.find_element(By.CLASS_NAME, 'btn-primary')
# click on button
button.click()
# identify element with id
txt = driver.find_element(By.ID, 'welcomeDiv')
# get text
print("Text obtained is: " + txt.text)
# quitting browser
driver.quit
Text obtained is: You have done a dynamic click
我们在单击 Click Me 后使用控制台中的消息获取了文本 - Text obtained is: You have done a dynamic click 。