Selenium Python中的send_keys()函数

我们将介绍Selenium Python中的send_keys() 函数,并演示其用途。

任何应用程序在获得市场之前都需要经过一些测试。该应用首先应该满足与其名称相关的所有要求。

我们应该全面地测试应用程序,因为没有人可以预测给应用程序的确切输入。Python Selenium可以帮助我们测试所有可能的原因。

send_keys() send_keys() 是WebDriver的一个部分,每个键盘输入都被发送到这个元素。

Selenium Python中的send_keys() 函数

该方法涉及的第一步是打开我们要测试的Web应用程序。我们可以使用该应用程序的URL来打开它。

等待整个页面加载成功,因为如果应用程序是动态类型的,但应用测试时网页没有完全加载,则测试失败。

下一步包括选择和搜索发送到键盘输入的所需元素。这个元素通常是一个文本框,允许用户在其中书写。

该元素可以是一个搜索标签或一些表格。我们可以使用几个选项,如元素ID、元素名称和XPath来寻找元素。

选择元素后,使用send_keys 方法发送键盘输入。我们可以使用id、类名或xpath来查找元素。

每个方法的语法如下所示。

# python
getElemById = driver.find_element_by_id("myId")
getElemByName = driver.find_element_by_name("myClass")
getElemByXPath = driver.find_element_by_xpath("//input[@id='myId']")

send_keys() 的主要应用是测试应用程序的众多输入。然而,了解这个方法常用的两个输入是很重要的。

使用Selenium Python中的send_keys() 函数进行输入验证

大多数应用程序都有一个登录表单,用户的电子邮件地址被广泛使用。因为我们都知道,每个电子邮件地址都有一个标准模板,以用户名开始,包括符号@ ,后面是域名。

现在,我们应该添加验证电子邮件地址的过程。

这将不允许用户通过把无效的电子邮件地址写到登录表格中来登录到应用程序中。验证可以通过添加和检查应用程序发送不遵循主模板的输入来确认。

额外的验证也可以参与到这个过程中。由于登录应用程序的密码有一套特定的规则,这个验证可以通过发送不遵循规则的输入来检查。

应用程序中的搜索栏也应该被检查。搜索栏应该显示相关的结果,以正确引导用户使用所需的搜索元素。

send_keys() 是一个方便的工具,可以检查搜索栏的预期结果。

一些网络应用程序包括特殊功能,在发布应用程序之前应该进行检查。特殊功能的一个例子是Google Meet,它使用Ctrl+ D来静音或取消静音的麦克风。

示例代码:

# python
from selenium import webdriver
Chromedriver = webdriver.Chrome()
Chromedriver.get("https://www.google.com/")
getElemById = Chromedriver.find_element_by_name("gLFyf")
getElemById.send_keys("This is filed by Selenium send keys")

输出:

Selenium Python中的send_keys()函数

从上面的例子可以看出,在Selenium的send_keys() 方法的帮助下,我们可以填写任何网站上的任何输入字段。

使用Selenium Python中的send_keys() 功能擦除文本

我们也可以使用同样的send_keys() 函数来编辑和改变键的值。让我们通过一个例子,我们将改变输入的值,然后再改变它。

在这个例子中,我们将发送钥匙;在睡眠3秒后,我们将从钥匙上删除3个字母。最后,我们将再次改变数值,如下所示。

示例代码:

# python
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
link = 'https://www.google.com/'
chromeDriver = webdriver.Chrome("C:chromedriver.exe")
driverOptions = webdriver.ChromeOptions()
windowSize = chromeDriver.get_window_size()
chromeDriver.get(link)
getElemByName = chromeDriver.find_element_by_name('gLFyf')
getElemByName.send_keys('For test purpose')
time.sleep(3)
getElemByName.send_keys(3*Keys.BACKSPACE)
time.sleep(3)
getElemByName.send_keys('testing second key')
time.sleep(3)
getElemByName.clear()
time.sleep(3)
chromeDriver.quit()

第一步:

Selenium Python中的send_keys()函数

第二步:

Selenium Python中的send_keys()函数

第三步:

Selenium Python中的send_keys()函数

故障排除问题:

  1. 我们应该确保所选择的元素是来自键盘输入。
  2. 元素的识别应该有适当的参考,以避免复杂化。
  3. 始终遵循正确的方法:搜索元素,点击元素,然后发送按键。
  4. send_keys() 当一个元素不活跃或不在手边时,可能会失败。在对一个特定的元素进行工作时,一定要计算这些因素。