javascript - 如何在 TestCafe 中删除样式属性
问题描述
如何在React构建中使用TestCafe删除客户端的 CSS 属性?
目前我正在为一个绘制折线的客户端工作,但由于以下样式属性,我无法将 DOM 结果与原始结果进行比较transform: matrix(1.4043, 0, 0, 1.4043, 40.5, 0);
,它会缩放 DOM 元素。
我找不到任何解决方案,所以我的问题是:如何删除此样式属性?
提前致谢!
解决方案
一个解决方案是使用ClientFunction:
const getStyleAttribute = ClientFunction((selector) => {
const element = selector();
return element.getAttribute('style');
});
const setStyleAttribute = ClientFunction((selector, styleValue) => {
const element = selector();
element.setAttribute('style', styleValue);
});
const field = Selector('your selector');
const styles = await getStyleAttribute(field) || '';
const updatedStyles =
`${styles} background-color: red; transform: matrix(1.4043, 0, 0, 1.4043, 40.5, 0);`;
await setStyleAttribute(field, updatedStyles);
上面的例子是添加一个变换和一个背景颜色。您可以修改此代码以删除样式。
不要忘记ClientFunction
在测试文件中导入。
推荐阅读
- angular - 如何在 NgRx-Effects 中测试多个 withLatestFrom 商店注入?
- c# - 如何在.net core web api服务器上处理从xamarin发送的请求
- c# - 如何在 HttpClient 中向 Google Oauth2 SSO 发送 Rest 请求时修复“错误请求”错误
- github - 服务器使用 vue 为 PWA 的资产返回 404
- android - 当 minifyEnabled 为 true 时,生成签名的 APK 构建将永远运行
- javascript - 如何使用跟踪字符串修改嵌套的 json 位置
- reactjs - React with Asp.net Core Target 容器不是 DOM 元素
- java - 更新 Oomph setup 安装的 Eclipse 的 JDK 路径
- r - 要替换的项目数错误不是替换长度的倍数
- angularjs - 将数组从 Angular js 传递到 Web API = null