使用Nightwatch清除Chrome浏览器缓存

时间:2019-02-20 13:58:58

标签: javascript css google-chrome nightwatch.js shadow-dom

使用Nightwatch,我正在尝试清除Chrome的浏览器缓存,这意味着我必须单击设置页面上的Confirm按钮,然后等待它出现。 (chrome:// settings / clearBrowserData)

由于Chrome使用的是阴影根,这并不像使用id选择元素那样简单。

直到几天前,以下方法仍能正常工作。

client.init('chrome://settings/clearBrowserData')
  .waitForElementPresent('* /deep/ #clearBrowsingDataConfirm', 20000)
  .moveToElement('* /deep/ #clearBrowsingDataConfirm', 5, 5)
  .mouseButtonClick(0)

我认为由于Chrome的自动更新,该功能现在在本地不再可用,而在我们拥有固定Chrome版本的Jenkins上,此功能仍然有效。

现在的问题是,是否还有其他选择。 CSS似乎没有替代/ deep /选择器的方法,所以我认为XPath可能是一种解决方案,但是我尝试了错误的方法,或者根本没有。

另一种可能是,以某种方式逐个影子根地将树的影子根向下移动,就像Chrome在复制特定元素的JS-Path时构造的查询一样:

document.querySelector('body > settings-ui').shadowRoot.querySelector('#main').shadowRoot.querySelector('settings-basic-page').shadowRoot.querySelector('#advancedPage > settings-section:nth-child(1) > settings-privacy-page').shadowRoot.querySelector('settings-clear-browsing-data-dialog').shadowRoot.querySelector('#clearBrowsingDataConfirm')

不幸的是,我对Nightwatch的了解还不够,无法适应Nightwatch。

有人知道如何使用Nightwatch清除浏览器缓存吗?

0 个答案:

没有答案