当前位置: 首页 > 面试题库 >

设置输入值而不是sendKeys()-Selenium WebDriver Node.js

惠泳
2023-03-14
问题内容

我要测试的字符串很长,而且sendKeys()时间太长。当我尝试设置程序的值时text崩溃。我知道Selenium
sendKeys()是测试实际用户输入的最佳方法,但是对于我的应用程序来说,这会花费太多时间。因此,我试图避免这种情况。

有没有一种立即设置值的方法?

请看以下快速示例:

var webdriver = require('selenium-webdriver');

var driver = new webdriver.Builder().
   withCapabilities(webdriver.Capabilities.chrome()).
      build();

driver.get('http://www.google.com');

// find the search input field on google.com
inputField = driver.findElement(webdriver.By.name('q'));

var longstring = "test"; // not really long for the sake of this quick example

// this works but is slow
inputField.sendKeys(longstring);

// no error but no values set
inputField.value = longstring;

// Output: TypeError: Object [object Object] has no method 'setAttributes'

inputField.setAttributes("value", longstring);

问题答案:

尝试使用executeScript方法设置元素的值:

webdriver.executeScript("document.getElementById('elementID').setAttribute('value', 'new value for element')");


 类似资料:
  • 如何在JavaScript中设置form文本字段的默认值?

  • 问题内容: 我想使用JavaScript强制文本框的值小写。我已经尝试过下面的代码,但是每次您按一个键,光标就会跳到输入的末尾。如何避免这种情况? 问题答案: $(“#beLowerCase”).on(‘input’, function(){ 这实际上也适用于CSS: 服务器可以照顾实际的下壳体…

  • 问题内容: 我正在使用Json.Net for .Net 4.5,并且在以下对象上使用填充对象时,它会使用json的内容而不是设置其值来增加List的值。 Json.Net 类 当它们最初加载时,一切都正确,但是从JSON重新加载两个MyStringLists都是重复的 问题答案: 您应该告诉Json.Net替换数组,如下所示:

  • 问题内容: 我们都知道Java在(被认为是“常用” )范围内为数字缓存(以及一些其他类型)。 缓存的设计如下: 我知道可以通过为JVM提供参数来扩展值: 我不明白的是为什么我们不允许覆盖该值? 请注意,我并不是想找到一种解决方法,而是要理解为什么出于某些晦涩的原因而不允许这样做。 问题答案: 发现对此已经存在未解决的RFP。 乔·达西(Joe Darcy)对这个问题发表了评论: 可以想象也可以缓存

  • 问题内容: 假设我们有这个网站https://www.coinichiwa.com/,其中有一个BET AMOUNT输入框。它的html是: 我需要在其中添加一些价值。这是我的代码: 但是,既没有将其值设置为“ 0.00000005”,也没有打印输入的。 我不知道怎么了。你能建议吗?为什么不起作用? 问题答案: 您需要先输入文字: 至于第二个问题- 这是一个,您输入的值将保留在属性内,而不是文本内

  • 问题内容: 您将如何在JavaScript中设置表单文本字段的默认值? 问题答案: 这是一种实现方式: