“入门”中的 Dalekjs Amazon 示例无法与 Chrome 和 PhantomJS 一起使用

Posted

技术标签:

【中文标题】“入门”中的 Dalekjs Amazon 示例无法与 Chrome 和 PhantomJS 一起使用【英文标题】:Dalekjs Amazon example from "Getting Started" not working with Chrome and PhantomJS 【发布时间】:2015-10-14 17:22:42 【问题描述】:

当它在 Chrome 中运行时,我得到 FOUND: [object Object] 的文本断言。

当它在 PhantomJS 中运行时,我得到 FOUND:(空白)。

Running tests
Running Browser: PhantomJS
OS: mac 10.10 (Yosemite) 32bit
Browser Version: 1.9.8

RUNNING TEST - "Amazon does its thing"
▶ OPEN http://www.amazon.com/
▶ TYPE #twotabsearchtextbox
▶ CLICK .nav-submit-input
▶ WAITFORELEMENT 
✘ TEXT
0 EXPECTED: The Blues Brothers
0 FOUND: 
✘ TEST - "Amazon does its thing" FAILED

 0/1 assertions passed. Elapsed Time: 58.91 sec 

我的测试:

module.exports = 
  'Amazon does its thing': function (test) 
    test
     .open('http://www.amazon.com/')
     .type('#twotabsearchtextbox', 'Blues Brothers VHS')
     .click('.nav-submit-input')
     .waitForElement('#result_0')
     .assert.text('#result_0 .newaps a span').is('The Blues Brothers')
     .done();
  
;

我使用的是 OS X Yosemite 10.10.5。

Chrome 版本:46.0​​.2490.71(64 位)

Dalek 版本:

DalekJS CLI 工具版本:0.0.5 DalekJS 本地安装:0.0.9

【问题讨论】:

【参考方案1】:

亚马逊似乎已经改变了他们的 DOM,分别将提交按钮类 .nav-submit-input 更改为 .nav-input,以及他们的结果页面的结构。因此,您还必须将#result_0 .newaps a span 更改为#result_0 .s-access-title,然后它应该会再次工作。

【讨论】:

以上是关于“入门”中的 Dalekjs Amazon 示例无法与 Chrome 和 PhantomJS 一起使用的主要内容,如果未能解决你的问题,请参考以下文章

Amazon S3 中的 Angular CORS(无服务器)

有人可以使用 Amazon Web Services 中的 itemsearch 提供一个 C# 示例吗

询问对话框 (cli) 不理解意图中的 AMAZON.NUMBER 插槽

在 Java EE 中实现 Amazon Web Services 的在线照片处理服务示例

AWS Lambda 中的 Amazon S3 waitFor()

Amazon Linux EC2 安装 SSL(无连接)