Selenium - send_keys() 发送不完整的字符串

2023-12-14

我的问题:我有一个填充字段的方法,但问题是 selenium 没有将完整的字符串发送到该字段,所以我的断言在验证时失败。

My code:

var webdriver = require('selenium-webdriver');
var casual = require('casual');
var expect = require('chai').expect;
var By = webdriver.By;

exports.addPropuesta = function (driver) {

var first_name = casual.first_name;

driver.findElement(By.xpath("//a[contains(text(),'Añadir Propuesta Test')]")).click();

name_field = driver.findElement(By.name('nombre'));
name_field.sendKeys(first_name);

driver.findElement(By.css("Input[type='submit']")).click();

driver.findElement(By.css('.table')).getText().then(function(table_content){

    expect(table_content).to.include(first_name);

    });
};

看起来像this是一个常见问题。

在尝试解决方法之前,作为健全性检查,请确保在发送密钥时输入字段已准备好接收输入。您也可以尝试在调用 SendKeys 之前清除该字段。我假设您看到字符串被截断,而不是字符丢失或带有某些工件的前缀(例如占位符文本或先前测试的剩余输入)。

如果这不起作用,一些解决方法:

  1. 使用 JavaScript 设置输入字段的值,而不是调用 SetKeys。在我执行此操作的某些网站上,除非我还触发输入更改事件,否则输入值实际上不会被识别。

    C# 中的示例。希望您唯一需要的更改是将 ExecuteScript 改为executeScript。

    driver.ExecuteScript("var exampleInput = document.getElementById('exampleInput'); exampleInput.value = '" + testInputValue + "'; exampleInput.dispatchEvent(new Event('change'));");
    

    当然,您可以将其分成两行,第一行用于设置值,第二行用于分派事件。

  2. 单独发送每个密钥。这是我在有关此问题的线程中多次看到的解决方法。

    for (var i = 0; i < first_name.length; i++) {
        name_field.sendKeys(first_name.charAt(i));
    }
    

https://github.com/angular/protractor/issues/3196
https://github.com/angular/protractor/issues/2019
如果您想寻找其他可能的问题解决方案,可以通过简单搜索“webdriver sendkeys does not wait for all the key”找到更多线程。

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

Selenium - send_keys() 发送不完整的字符串 的相关文章

随机推荐

  • 批量重命名目录中的文件

    有没有一种简单的方法可以使用 Python 重命名目录中已包含的一组文件 Example 我有一个充满 doc 文件的目录 我想以一致的方式重命名它们 X doc gt 新 X doc Y doc gt 新 Y doc 我更喜欢为我必须做的
  • Flex 4 日期选择器

    我有很多日子 我希望那些日子在 DateChooser 组件中具有不同的背景颜色 例如红色 请问我该怎么做 DateChooser 的自定义并不那么容易 与此接近的东西会起作用 尽管您需要对其进行一些调整以适应您想要做的事情 public
  • 如何在 jQuery ajax 中从一个按钮调用多个 url?

    是否可以通过 jQuery 中的按钮调用两个 url 例如 我也想添加评论的内容 我该如何代表他们 ajax url ajax releaseBackEnd php url batch 2 release tmp php type POST
  • 如何在 JQuery 调用中使用变量

    我在尝试着 function doRow rowNum ajax url z html cache false success function html result rowNum append html 这似乎不起作用 当我做到这一点时
  • ng-transclude 内的 ng-model

    我使用时遇到问题ng model inside ng transclude As ng transclude创建子作用域 该值不能再设置为外部作用域 没有 ng transinclude 一切正常 text div div
  • 在 CardView 布局中运行媒体文件

    有没有办法获得媒体文件 audio video 运行在cardview布局 我想要一个videoa 内文件的预览card layout 当用户点击卡片时video audio全屏播放 就像 Facebook 的 feed 一样 为了获得这种
  • 如何在R中过滤数据?

    我有巨大的数据集 其中包含超过数百万行 并且具有一些特殊的属性 我需要过滤保留其其他属性的数据 我的数据如下 ID Prop1 Prop2 TotalProp 56891940 G02 G02 2 56892558 A61 G02 4 56
  • 如何加载具有依赖项的 JNI .dylib 文件而不出现 UnsatifiedLinkError?

    Goal 将 Java 链接到 Swift Problem 我得到一个UnsatisfiedLinkError当尝试加载 JNI 时 dylib与 Swift 链接的文件 dylib调用时文件System loadLibrary Strin
  • 使用 htmlparser python 获取标签下的html

    我想在标签下获取整个 html 并使用 HTMLParser 我当前能够获取标签之间的数据 以下是我的代码 class LinksParser HTMLParser def init self HTMLParser init self se
  • Android 中如何模糊背景图像

    模糊背景图像 如下图所示 的最佳方法是什么 我看到了一些代码和库 但有几年前的或类似 Blur Behind 库 但它没有给出相同的效果 最简单的方法是使用库 看看这个 https github com wasabeef Blurry 使用
  • 如何从C++文件中读取空格分隔的信息

    在文本文件中 我将有一行包含一系列数字 每个数字用空格分隔 我如何读取这些数字并将它们全部存储在一个数组中 std ifstream file filename std vector
  • 多次加入同一张表

    我可能有点笨 希望有人能帮忙 我有一个简单的 2 列用户表 ID 用户名 我有一个图像评论表 COMMENT COMMENTFROM COMMENTTO COMMENTFROM 是发表评论的用户的 ID COMMENTTO 是添加评论的图像
  • 在 MS Access 中引用可重用表单(2 层)

    我有多个成员 每个成员都有一条包含多个备注字段的记录 Member ID Entry A Entry B 1 memo text memo text 2 memo text memo text 3 memo text memo text 在
  • 在嵌套类中,如何从Python中的嵌套类访问外部类的元素?

    我有这样的场景 我需要要求嵌套类将项目附加到外部类中的列表中 这是伪代码 与我尝试做的类似 我该如何让它发挥作用 class Outer object outerlist class Inner object def call self a
  • 如何在 R 代码中将数据框旋转到二级标题上

    I m still new to R and I ve been struggling with this issue for a couple of days I found some solutions but I m looking
  • Struts2 ActionContext 和 ValueStack?

    我的问题是 在Struts2中 是不是每个action对象都有自己对应的ActionContext和ValueStack呢 换句话说 对于每个新请求 都会创建一个新的操作对象 这是否意味着每次创建新的操作对象时 也会创建新的 ActionC
  • 如何使用 Xcode 4.5 为 iPhone 4 和 iPhone 5 创建 xib

    我已将部署目标设置为 iOS 4 3 并使用 xib 创建视图控制器 但 XCode 4 5 仅为 iPhone 5 4 英寸 创建 xib 如何为 iPhone 4 创建单独的 xib 在视图属性检查器的 模拟指标 部分中 您可以选择 3
  • 如何获取我在 Jquery Tabs UI 中命名的当前选项卡标题

    我在用着http jqueryui com demos tabs manipulation 我想获取我之前命名的当前选定选项卡的标题 例如 来自 href 如何获得 我试过 ui tab attr href 获取选项卡标题的替代方法 var
  • shell 脚本中 test / [ 中的 -d、-e 和 -f 标志有什么区别?

    有什么区别 d e f在 shell 脚本中 我试图理解之间的区别 e d and f参数 例子 if d path if e path if f path 据我所知 d检查目录是否存在 e检查目录和内容 如果目录存在且包含内容则返回 tr
  • Selenium - send_keys() 发送不完整的字符串

    我的问题 我有一个填充字段的方法 但问题是 selenium 没有将完整的字符串发送到该字段 所以我的断言在验证时失败 My code var webdriver require selenium webdriver var casual