js找css选择器,Nightwatch.js通过CSS选择器查找的问题(最新版本)

我查看了this question与CSS选择器的问题。接受的答案是完全离开nightwatch.js。我希望这种情况不是这样,但有问题。Nightwatch.js通过CSS选择器查找的问题(最新版本)

我已经升级到最新的可用nightwatch.js v0.9.14,但无法通过jQuery找到它在屏幕上找到的元素。

使用下面的选择器(必要的层次结构,因为它是一个jqGrid的范围内):

.click("#MedicalHistoryAmendment_sheet tbody tr:eq(1) > td:eq(4) > select")

我得到:

ERROR: Unable to locate element: "#MedicalHistoryAmendment_sheet tbody tr:eq(1) > td:eq(4) > select

using: css selector

也试图从this question(选择方法不希望这样做,因为ID是动态的):

.click('select[id="null_z01rsnload_inst_ref"]')

不符合:

ERROR: Unable to locate element: "select[id="null_z01rsnload_inst_ref"]" using: css selector

在控制台中使用jQuery:

$("#MedicalHistoryAmendment_sheet tbody tr:eq(1) > td:eq(4) > select")

返回:

[select#null_z01rsnload_inst_ref.editable, prevObject: init(1), context: document, selector: "#MedicalHistoryAmendment_sheet tbody tr:eq(1) > td:eq(4) > select"]

这是使用chromedriver.exe版本2.28在Chrome(我们的主要目标,我们目前没有为其他平台进行自动测试)。它不在iframe内。

添加“--verbose”对夜巡命令行给我:

INFO Request: POST /wd/hub/session/50a51b48-bce9-425d-a132-2d0407c8ac21/elements

- data: {"using":"css selector","value":"#MedicalHistoryAmendment_sheet tbody tr:eq(1) > td:eq(7) select"}

- headers: {"Content-Type":"application/json; charset=utf-8","Content-Length":98}

ERROR Response 500 POST /wd/hub/session/50a51b48-bce9-425d-a132-2d0407c8ac21/elements (1019ms) { sessionId: '50a51b48-bce9-425d-a132-2d0407c8ac21',

status: 32,

value:

{ message: 'invalid selector: An invalid or illegal selector was specified\n

....

任何进一步的想法,将不胜感激!

2017-04-19

u02sgb

+0

你可以试试用--verbose运行Nightwatch吗?如果它做错了什么,你可能会看到它将POST中的选择器字符串改为Selenium。否则,它只是打印返回的错误(您也将在详细输出中看到)。也许.waitForElementPresent()第一次? –

+0

一些注意事项:在某些情况下,您应该可以使用querySelector。另外,什么浏览器有这个问题,还是所有的浏览器?另外,嵌套在iframe中的元素是什么?在你操纵它的HTML元素之前,你需要明确地选择iframe。 –

+0

增加了chromedriver信息,此刻进行更多调试。 –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值