chromedriver 可以工作,但“phantomjs 无法使用 css 选择器找到项目”

2024-01-04

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

有任何想法吗?我在网上搜索了解决方案,但没有成功。


首先,检查decates' 在这里评论:https://github.com/nightwatchjs/nightwatch/issues/243#issuecomment-94287511 https://github.com/nightwatchjs/nightwatch/issues/243#issuecomment-94287511

了解站点如何根据从浏览器传递到站点的用户代理信息返回不同的 XHTML 数据?因此,如果您想使用 phantomjs,但可以接受它通过用户代理欺骗为不同的浏览器,则可以配置 phantomjs 的用户代理功能,如下所示(欺骗 Mac Chrome):

"desiredCapabilities": {
  "browserName": "phantomjs",
  "phantomjs.cli.args" : ["--ignore-ssl-errors=true"],
  "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"
}

那么您的测试应该与其他浏览器的行为相同。使用您喜欢的任何浏览器,您可以在此处检查它发送的用户代理字符串:http://www.httpuseragent.org/ http://www.httpuseragent.org/。以下是一些其他示例:

// 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"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

chromedriver 可以工作,但“phantomjs 无法使用 css 选择器找到项目” 的相关文章

随机推荐