javascript – 如何关闭CSS以加快自动化测试的执行速度?

前端之家收集整理的这篇文章主要介绍了javascript – 如何关闭CSS以加快自动化测试的执行速度?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参考:

> What is the cleanest way to disable CSS transition effects temporarily?
> http://onezeronull.com/2016/10/06/disable-css-transitions-and-animations-temporarily-or-permanently/

每当我需要运行测试JavaScript时,我都使用JavascriptExecutor,但上面的博客都没有说明如何使用它.

我试过了:

js.executeScript(".notransition {
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -o-transition: none !important;
  -ms-transition: none !important;
  transition: none !important;
}");

但它对我没有任何作用.

编辑:

我试过@AmerllicA提供的答案

public void turnOffCss () {
    navigate("https://www.bureauofdigital.com");
    js.executeScript("*,*:before,*:after {
     -webkit-transition: none !important;
     -moz-transition: none !important;
     -ms-transition: none !important;
     -o-transition: none !important;        
     transition: none !important;

     -webkit-transform: none !important;
     -moz-transform: none !important;
     -ms-transform: none !important;
     -o-transform: none !important;        
     transform: none !important;
    }");
}

解决方法

我在JavaScript Executor上为您的确切问题提出了另一个答案.让我们来澄清JavaScript代码,

>制作样式标记元素.
>使用样式标记添加id属性.
>制作一个我在另一个答案中回答的CSS的字符串.
>将字符串放入或附加到样式标记中.
>将样式附加到DOM中的head标记.

现在让我们将上述状态写入JavaScript代码

const styleElement = document.createElement('style');
styleElement.setAttribute('id','style-tag');
const styleTagCSSes = document.createTextNode('*,:after,:before{-webkit-transition:none!important;-moz-transition:none!important;-ms-transition:none!important;-o-transition:none!important;transition:none!important;-webkit-transform:none!important;-moz-transform:none!important;-ms-transform:none!important;-o-transform:none!important;transform:none!important}');
styleElement.appendChild(styleTagCSSes);
document.head.appendChild(styleElement);

使用此代码,您可以将我的另一个答案CSS导入DOM.所以你可以把下面的字符串放到你的JavaScript执行器:

"const styleElement = document.createElement('style');styleElement.setAttribute('id','style-tag');const styleTagCSSes = document.createTextNode('*,:before{-webkit-transition:none!important;-moz-transition:none!important;-ms-transition:none!important;-o-transition:none!important;transition:none!important;-webkit-transform:none!important;-moz-transform:none!important;-ms-transform:none!important;-o-transform:none!important;transform:none!important}');styleElement.appendChild(styleTagCSSes);document.head.appendChild(styleElement);"

如果你想恢复这个动作,只需使用:

document.getElementById('style-tag').remove();

希望这些代码可以帮到你.

猜你在找的JavaScript相关文章