chromedriver工作正常,但;phantomjs无法使用css选择器定位项目;

chromedriver工作正常,但;phantomjs无法使用css选择器定位项目;,phantomjs,nightwatch.js,Phantomjs,Nightwatch.js,我正在为我的工作设计一些端到端测试,我已经通过chromedriver使用nightwatch.js启动并运行了它。然而,我们希望在我们的服务器上运行它,所以我希望能够使用phantomjs运行它。尽管测试使用chromedriver执行时没有发生意外,但Phantomjs会产生以下错误“Phantomjs无法使用css选择器定位项” 有什么想法吗?我在互联网上搜索了一个解决方案,但没有结果。我有时会在不同的浏览器中产生这种效果,而不仅仅是幻影。原因似乎是在对一个浏览器求值时没有加载元素(而对另

我正在为我的工作设计一些端到端测试,我已经通过chromedriver使用nightwatch.js启动并运行了它。然而,我们希望在我们的服务器上运行它,所以我希望能够使用phantomjs运行它。尽管测试使用chromedriver执行时没有发生意外,但Phantomjs会产生以下错误“Phantomjs无法使用css选择器定位项”


有什么想法吗?我在互联网上搜索了一个解决方案,但没有结果。

我有时会在不同的浏览器中产生这种效果,而不仅仅是幻影。原因似乎是在对一个浏览器求值时没有加载元素(而对另一个浏览器加载了元素)。您可以通过在故障点检查屏幕截图来调试它


我的解决方案是使用waitForElementPresent/Visible。

首先,检查decates'注释:

查看根据从浏览器传递到站点的用户代理信息,站点如何返回不同的XHTML数据?因此,如果您想使用phantomjs,但可以通过用户代理将其作为不同的浏览器进行欺骗,那么您可以配置phantomjs的用户代理功能,如下所示(欺骗Mac Chrome):

然后,您的测试应该与其他浏览器的行为相同。使用您喜欢的任何浏览器,您都可以检查它发送到此处的用户代理字符串:。以下是一些其他示例:

// Mac Chrome 46
"phantomjs.page.settings.userAgent" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36"

// Windows Chrome 46
"phantomjs.page.settings.userAgent" : "Mozilla/5.0 (Windows NT 6.3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36"

// Mac Firefox 42.0
"phantomjs.page.settings.userAgent" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:42.0) Gecko/20100101 Firefox/42.0"

// Windows Firefox 42.0
"phantomjs.page.settings.userAgent" : "Mozilla/5.0 (Windows NT 6.3; rv:42.0) Gecko/20100101 Firefox/42.0"

// PhantomJS 2.0
"phantomjs.page.settings.userAgent" : "Mozilla/5.0 (Macintosh; Intel Mac OS X) AppleWebKit/538.1 (KHTML, like Gecko) PhantomJS/2.0.0 Safari/538.1"
// Mac Chrome 46
"phantomjs.page.settings.userAgent" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36"

// Windows Chrome 46
"phantomjs.page.settings.userAgent" : "Mozilla/5.0 (Windows NT 6.3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36"

// Mac Firefox 42.0
"phantomjs.page.settings.userAgent" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:42.0) Gecko/20100101 Firefox/42.0"

// Windows Firefox 42.0
"phantomjs.page.settings.userAgent" : "Mozilla/5.0 (Windows NT 6.3; rv:42.0) Gecko/20100101 Firefox/42.0"

// PhantomJS 2.0
"phantomjs.page.settings.userAgent" : "Mozilla/5.0 (Macintosh; Intel Mac OS X) AppleWebKit/538.1 (KHTML, like Gecko) PhantomJS/2.0.0 Safari/538.1"