【问题标题】:Partial ID selectors with webdriverjs.io and jquery带有 webdriverjs.io 和 jquery 的部分 ID 选择器
【发布时间】:2014-06-04 16:52:58
【问题描述】:

我正在尝试为 Salesforce 构建一些测试自动化脚本。 http://webdriver.io/ 似乎很容易使用。现在我想将 jQuery 添加到组合中。

我希望能够执行部分 id 选择,我知道我可以使用 jQuery 来完成

这是我的脚本文件

var webdriverjs = require('webdriverjs'); 
var $ = require('jquery');
var client = webdriverjs.remote({ 
    host: 'localhost',
    port: 4444
});

client.init();

client
    .url('https://xxx.cs17.force.com')
    .setValue( $('input[id*=username]') ,'x@x.com.envd', function(err,result) {});

这是我的 id 字符串的样子

我的问题是

  1. 如何使用 jQuery - 收到此错误“错误:jQuery 需要一个带有文档的窗口”,或者
  2. 还有其他方法可以找到我的 ID

【问题讨论】:

  • 您是否尝试过使用 xpath 选择器?在您的开发工具中右键单击元素并复制 xpath

标签: javascript jquery webdriver webdriver-io


【解决方案1】:

您不必一定要引用 id 来与元素交互。您还可以使用其他 selector strategies,例如标准 css 选择器或 xpath。

尝试右键单击要与之交互的元素,然后单击“复制 CSS 路径”或“复制 XPath”。将其替换为您当前的 jQuery 实现:

client
    .url('https://xxx.cs17.force.com')
    .setValue('//some/xpath' ,'x@x.com.envd')

现有的 xPath 确实很慢,但它提供了扩展的选择器选项,以防您对元素类名或 ID 一无所知。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-21
    • 2012-11-10
    • 2011-12-13
    • 2012-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多