每当我尝试点击公司webapp上的任何元素时,我都会得到"javascript :循环引用(会话信息: chrome=76.0.3809.100)“。
这是在以前的chromedriver版本上运行良好的代码。
我尝试过与这里链接的“重复”问题中提到的解决方案,老实说,我认为这个问题被错误地标记为重复。
量角器: 6.0.0版(也在5.4.2上试用)
webdriver:使用全局安装版本12.1.6
Selenium服务器版本: 3.141.59
节点: v10.16.2
很明显是chromedriver_76.0.3809.12
我要运行的代码在这里
async function clickElemByID(strID){
await browser.sleep(15000);
var testElem = element(by.id(strID));
try {
await testElem.click();//throws "Failed: javascript error: circular reference"
} catch (e) {
console.log(e);
}
}渔获物块捕获:
"JavascriptError: javascript error: circular reference
(Session info: chrome=76.0.3809.100)
at Object.throwDecodedError (c:\Users\%username%\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\error.js:550:15)
at parseHttpResponse (c:\Users\%username%\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\http.js:560:13)
at Executor.execute (c:\Users\%username%\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\http.js:486:26)
at process._tickCallback (internal/process/next_tick.js:68:7)Error
at ElementArrayFinder.applyAction_ (c:\Users\%username%\AppData\Roaming\npm\node_modules\protractor\built\element.js:459:29)
at ElementArrayFinder.(anonymous function).args [as click] (c:\Users\%username%\AppData\Roaming\npm\node_modules\protractor\built\element.js:97:29)
at ElementFinder.(anonymous function).args [as click] (c:\Users\%username%\AppData\Roaming\npm\node_modules\protractor\built\element.js:818:22)
at UserContext.it (c:\Users\%username%\Development\test-automation\Repo\Cloud\UK Tax\HMRC Test Cases 2018-19\hmrcTestCase001\spec01.js:173:28)"这种情况发生在多台机器上。
不过,火狐似乎仍在工作。
发布于 2019-08-14 11:40:21
按照问题2995: javascript错误:使用ChromeDriver循环引用的规定,它的Chrome/ChromeDriver版本为76.0.3809.68。请试试76.0.3809.68。
更改日志:
ChromeDriver 76.0.3809.68
Supports Chrome version 76
Includes the following changes over version 76.0.3809.25:
Fixed a bug in detecting circular reference in JavaScript objects编辑
“webdriver”的问题在于它没有下载最新版本的76.0.0版本。你必须自己安装问题- 408
npm install chromedriver --chromedriver_version=LATEST发布于 2019-08-14 11:21:36
我也面临着同样的问题。
根据我的研究,这发生在ChromeDriver版本75.0.3770.8。https://sites.google.com/a/chromium.org/chromedriver/downloads
ChromeDriver 75.0.3770.8 支持Chrome版本75 最明显的变化是ChromeDriver现在默认以W3C标准兼容模式运行。
这意味着,他们已经在铬驱动程序中启用了W3C标准。要解决这个问题,要么需要在代码中修复循环引用错误,要么禁用W3C。对于某些禁用W3C,可以使用github的解决方案:https://github.com/angular/protractor/issues/5261
capabilities: {
'goog:chromeOptions': {
w3c: false
}
}不幸的是,这个解决方案并不适用于我。您可以尝试将此作为临时解决方案。
发布于 2019-08-19 22:44:23
看起来有人在webdriver中修复了这个问题,但是它还没有发布。我也遇到了同样的问题,并能够通过将此差异应用到我在node_modules:https://github.com/angular/webdriver-manager/pull/413/commits/6a95aa4187825d1293bda7c802f39257699095fc中的本地版本的webdriver中来解决它。
然后更新webdriver下载的最新版本,一切都正常。
https://stackoverflow.com/questions/57492625
复制相似问题