Python 中 Selenium 的 send_keys() 函数

这篇具有很好参考价值的文章主要介绍了Python 中 Selenium 的 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() 是一个方便的工具,用于检查搜索栏的预期结果。

某些 Web 应用程序包含特殊功能,应在发布应用程序之前对其进行检查。 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")

输出:

send_keys,Python 实用技巧,python,selenium,数据库

从上面的例子可以看出,借助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()

第一步:

send_keys,Python 实用技巧,python,selenium,数据库

第二步:

send_keys,Python 实用技巧,python,selenium,数据库

第三步:

send_keys,Python 实用技巧,python,selenium,数据库

故障排除问题:文章来源地址https://www.toymoban.com/news/detail-772098.html

  1. 我们应该确保所选元素来自键盘输入。
  2. 元素的识别应给出适当的参考,以避免复杂化。
  3. 始终遵循正确的方法:搜索元素,单击元素,然后发送密钥。
  4. 当元素不活动或超出范围时,send_keys() 可能会失败。 确保在处理特定元素时计算这些因素。

到了这里,关于Python 中 Selenium 的 send_keys() 函数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python实战应用讲解-【numpy数组篇】实用小技巧(五)(附python示例代码)

    目录   查找两个NumPy数组的并集 查找NumPy数组中的唯一行 扁平化 一个NumPy数组的列表 使用NumPy在Python中扁平化一个矩阵 从元素上获取NumPy数组值的幂 为了找到两个一维数组的联合,我们可以使用Python Numpy库的函数numpy.union1d()。它返回唯一的、经过排序的数组,其值在两个输

    2023年04月14日
    浏览(45)
  • python实战应用讲解-【numpy数组篇】实用小技巧(八)(附python示例代码)

    目录   如何在NumPy数组上映射一个函数 方法一:numpy.vectorize()方法 方法2:使用lambda函数 方法3:用一个数组作为函数的参数来映射一个NumPy数组 如何使用给定的索引位置重新排列二维NumPy数组的列 如何用NumPy删除只包含0的数组行 如何删除Numpy数组中包含非数字值的列

    2024年02月01日
    浏览(49)
  • 轻松驾驭Python格式化:5个F-String实用技巧分享

    F-String (格式化字符串字面值)是在Python 3.6中引入的,它是一种非常强大且灵活的字符串格式化方法。 它允许你在字符串中嵌入表达式,这些表达式在运行时会被求值并转换为字符串, 这种特性使得 F-String 在编写 Python 代码时能够更简洁、更直观地处理字符串。 本文总结了

    2024年03月12日
    浏览(59)
  • Python实用技巧:Pandas--DataFrame--筛选和删除含特定值的行与列

    Python实用技巧:Pandas–DataFrame–筛选和删除含特定值的行与列 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程 👈 希望得到您的订阅和支持~ 💡 创作高质量博文,分享更多关于深度学习、PyT

    2024年04月13日
    浏览(44)
  • Greenplum实用技巧

    gp_segment_id是表中的隐藏列,用来标记该行属于哪个segment节点。因此可以基于该隐藏列进行分组查询,获取每个segment的记录数,从而判断表数据的分布是否均匀或有倾斜。 gp_segment_configuration是一张系统表,它维护包括master、standby在内的所有节点信息。是DBA了解集群最直观的

    2024年02月11日
    浏览(58)
  • chrome-实用技巧

    重发请求,这有一种简单到发指的方式 选中 Network 点击 Fetch/XHR 选择要重新发送的请求 右键选择 Replay XHR  但是经过实际使用调研,发现它只适用于axios或类似方式使用xhr api,则XHR仍在重放,但是,如果使用新的api fetch,则需要使用其他方法,如下:  此方式还可以直接修改

    2024年02月05日
    浏览(57)
  • Pandas实用技巧

    首先我们需要先提前下载好 示例数据集 : drinksbycountry.csv : http://bit.ly/drinksbycountry imdbratings.csv : http://bit.ly/imdbratings chiporders.csv : http://bit.ly/chiporders smallstockers.csv : http://bit.ly/smallstocks kaggletrain.csv : http://bit.ly/kaggletrain uforeports.csv : http://bit.ly/uforeports 有时你需要知道正在使用的

    2024年02月10日
    浏览(65)
  • AI绘画高效实用技巧

    如何调整整体占画面比例的问题 首先看看主要镜头类型: 广角镜头 (10mm至35mm) 拍全身 标准镜头 (35mm至85mm) 半身照 特写镜头 (85mm至300mm) 抓细节 以全画幅135为例: 20mm以下的称之为超广角镜头 21mm~40mm焦距称之为广角镜头 41mm~60mm焦距称之为标准镜头 61mm~100mm焦距称之为中焦镜头

    2024年02月11日
    浏览(65)
  • Gitlab CICD实用技巧汇总

    1、stage参数 stages:   - build   - test   - deploy 相同stage的作业会并行执行,有一个失败,则认为这个stage失败。 不同stage的作业会按序执行,前面stage有失败,后续stage不会继续执行。 可以使用needs参数改变不同stage之间的依赖关系。 2、cache参数 cache 是一种用于存储和重用构建产

    2024年02月06日
    浏览(65)
  • 【Docker 实用技巧】动态切换国内外源

    目录 前言: 1、背景 2、ChatGPT 的方案 3、我的方案 3.1 本地构建 3.2 Github Action 构建 3.3 实际方案 Docker 是一个非常流行的开发和部署平台,它可以帮助开发者快速构建、部署和管理应用程序。在使用 Docker 的过程中,我们可能需要切换国内外源来获取更快速的软件包和镜像。

    2024年02月09日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包