使用 Splinter 发送密钥

2023-12-19

我想使用 Splinter 测试自动完成框。我需要将“向下”和“输入”键发送到浏览器,但我在执行此操作时遇到了困难。

我目前正在找到一个输入框并成功在该框中输入“tes”

context.browser.find_by_xpath(\\some\xpath\).first.type('tes')

接下来我想做的是将一些键发送到浏览器,特别是“向下”键(用于选择第一个自动完成建议),然后发送“回车”键以选择该自动完成元素。

我已经尝试过广泛的搜索,但不知道如何做到这一点。

我什至尝试了一些javascript

script = 'var press = jQuery.Event("keypress"); press.keyCode = 34; press.keyCode = 13;'
context.browser.execute_script(script)

但不幸的是这并没有起到任何作用

我正在使用的包:

Django 1.6 django-behave==0.1.2 碎片 0.6

当前配置是:
从 splinter.browser 导入浏览器 从 django.test.client 导入客户端

context.browser = Browser('chrome')
context.client = Client()

您可以通过切换到活动元素来发送密钥:

from selenium.webdriver.common.keys import Keys

context.browser.find_by_xpath('//input[@name="username"]').first.type('test')
active_web_element = context.browser.driver.switch_to_active_element()  
active_web_element.send_keys(Keys.PAGE_DOWN)
active_web_element.send_keys(Keys.ENTER)

活动元素将是您与之交互的最后一个元素,因此在本例中是您输入的字段。

switch_to_active_element()返回一个selenium.webdriver.remote.webelement.WebElement, not a splinter.driver.webdriver.WebDriverElement,所以很遗憾你不能打电话send_keys的返回值find_by_*(...)直接地。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Splinter 发送密钥 的相关文章

随机推荐

  • 分布式Python编程

    我试图将 python 程序的执行拆分到两台不同的机器上 我想知道是否有办法从一台机器上调用另一台机器上的 python 解释器 不是在另一台机器上运行脚本 而是将执行任务拆分到两台机器上 在接下来的几个月中 我将教授我的自分布式编程 我认
  • 403 使用 Sig v4 将数据从 AWS Lambda 索引到 Elasticsearch 时出错:“没有 [indices:data/write/bulk] 权限”

    我的函数可以从本地 Jupyter 笔记本将单个文档和批量索引到我的 AWS Elasticsearch 但是当我部署到 Lambda 时 它不断返回此错误 errorMessage AuthorizationException 403 s
  • EF Code First 迁移创建额外的外键

    我正在尝试创建一个Profile表与 Asp Net Identity 表集成 AspNetUsers 我正在将 Code First 迁移与 EF 6 0 结合使用 这是我的用户类 public class ApplicationUser
  • 'kABPersonAddressStreetKey' 在 iOS 9.0 中已弃用:使用 CNPostalAddress.street

    我用早期版本的 Swift 编写了以下类 这Swift 2编译器警告说 kABPersonAddressStreetKey 已被弃用iOS 9 0 use CNPostalAddress street 并给出错误 找不到接受类型 MKPla
  • 如何将 WordPress 帖子水平显示为 3 列?

    我正在将使用 Bootstrap 构建的主题集成到 WordPress 中 现在我面临着水平而不是垂直显示我的帖子的挑战 该设计使用了 3 根柱子 本站发布的两列的解决方案 http perishablepress com two colu
  • 如何计算分位数中的观测值数量?

    考虑一下我有一百万个遵循参数为 3 5 的伽马分布的观测值 我可以使用找到分位数summary 但我想找出被分成 10 块的每条红线之间有多少个观察值 a rgamma 1e6 shape 3 rate 5 summary a Min 1s
  • java小程序中的淡入淡出效果

    我正在用节点和边制作这个java小程序图形 我想实现点击一个节点时检索新节点的淡入和淡出效果 但我不知道如何编写和实现代码 为了澄清 例如动物节点检索老虎和狮子节点 因此 当单击动物时 节点和附着在其上的边缘逐渐消失 老虎和狮子节点逐渐出现
  • 如何将日期范围选择器与ajax一起使用

    我正在使用日期范围选择器 javascript 库来选择用户的日期范围 date range daterangepicker arrows true dateFormat d M yy rangeSplitter to datepicker
  • Phonegap Windows Phone 7 使用 jQuery 动态 HTML 加载和跨域调用

    好吧 我搜索了很多 发现很多 Android 开发者都使用 Phonegap 有几个问题 如何使用 jQuery 将本地 HTML 文件加载到 Phonegap 中的 div 中 就像是 contentDiv load url functi
  • Openlayers v4.0.1 支持 Google 地图 Javascript API 吗?

    我想知道 Openlayers 的最新版本 v4 0 1 是否支持 Google 地图作为图块图层 我找不到任何关于此的文档 如果 Openlayers 不支持 Google 地图 有人可以告诉我是否有任何方法可以做到这一点 OpenLay
  • 如何在 F# 或任何函数式语言中柯里化第二个(或第三个、第四个……)参数?

    我刚刚开始使用 F 看看如何使用柯里化将第一个参数预加载到函数中 但是如何使用第二个 第三个或任何其他参数来做到这一点呢 命名参数会让这变得更容易吗 是否有任何其他函数式语言具有命名参数或其他方式使柯里化与参数顺序无关 通常你只使用 lam
  • jQuery ajax() URL 是必需的吗?

    the ajax函数的 http api jquery com jQuery ajax jQuery ajax url settings标题是 jQuery ajax url settings 文档说 URL 是必需的 为什么在示例中只提供
  • 如何清除图表 tkinter

    有了这段代码 我想制作动态图 我想让我的图每 60 秒清晰一次 但我不能让它与 cla 和 clf 一起工作 有什么问题吗 除了使用 cla 和 clf 之外 还有其他方法可以清除图形吗 import lib client paho mqt
  • 数组和对象中的尾随逗号是规范的一部分吗?

    尾随逗号是 JavaScript 中的标准吗 还是大多数浏览器 例如 Chrome 和 Firefox 都容忍它们 我以为它们是标准的 但 IE8 遇到一个就吐了 当然 IE 不支持某些东西并不意味着它不标准 这是我的意思的一个例子 在 b
  • 即使 png 文件位于资源文件夹中,NSImage 也会返回 nil

    我正在尝试使用 NSImage imageNamed 方法加载图像 但没有成功 我已将图像复制到项目文件夹 项目 gt 资源中 并使用以下命令添加到项目中 将文件添加到项目 NSImage image NSImage imageNamed
  • jquery定时改变item类

    是否可以根据某种类型的计时器更改项目类别或 ID 每隔 1500 毫秒 它会转到嘿 那里 1 然后 1500 毫秒后 嘿 那里 2 等等 我可以控制它经历多少个间隔 嘿 嘿 那里 1 嘿 那里 2 嘿 那里 3 回到开头 嘿那里 etc T
  • 用弹簧配置流口水。 xsd 错误

    我正在尝试使用 Drools 创建 spring roo 应用程序 但我在 applicationContext xml 中遇到了错误 Error 在这一行找到多个注释 无法找到模式命名空间 http drools org schema 的
  • 相机意图仅在某些设备上返回 null

    我正在使用相机捕获图像并将返回的位图设置为图像视图 但它在 OnePlus 设备上崩溃 我检查了一些 htc 设备 它运行良好 我检查了解决方案 他们说要检查请求代码 但我已经在这样做了 这里可能有什么问题 这是代码 imageView s
  • `modularity()` 的正确使用和解释

    In the igraph modularity部分有示例代码 如下所示 g lt graph full 5 du graph full 5 du graph full 5 g lt add edges g c 1 6 1 11 6 11
  • 使用 Splinter 发送密钥

    我想使用 Splinter 测试自动完成框 我需要将 向下 和 输入 键发送到浏览器 但我在执行此操作时遇到了困难 我目前正在找到一个输入框并成功在该框中输入 tes context browser find by xpath some x