量角器 - 更新 Chrome 版本后获取返回 null 的属性值

问题描述

更新到最新的 chrome 版本 91.0.4472.77 后获取返回 null 的属性值。更新前一切正常

   selector.getAttribute('value')  => returning null

是否有任何替代方案或解决方案?

解决方法

以下解决方案对我有用。 我们已经为返回属性编写了一个函数。我们保留的里面 return browser.executeScript('return arguments[0].value',elem);

如果属性是 DOM 的一部分,getAttribute 将继续工作。

,

我找到了一个临时解决方法,它只适用于 mac 上的 chrome 91.0.4472.114

这里描述的问题实际上是 chromedriver https://bugs.chromium.org/p/chromium/issues/detail?id=1205107 中的一个错误,所以它不仅仅是量角器的问题

在开发过程中,您可以使用 chromedriver 90 版。奇迹般有效。可用的最新版本在这里https://chromedriver.storage.googleapis.com/LATEST_RELEASE_90.0.4430

您可以通过运行此命令来降级 chromedriver

webdriver-manager update --gecko=false --versions.chrome 90.0.4430.24

请注意,有时您有 webdriver-manager 的全局、项目本地和量角器特定安装。我给出的命令将全局安装 chromedriver。为了在本地安装,您需要找到 webdriver-manager 的路径并像这样运行命令

node ./node_modules/protractor/node_modules/webdriver-manager update --gecko=false --versions.chrome 90.0.4430.24

有些人可能需要在 sudo 模式下运行命令。记住它