testing - Testcafe 和 Shadow Dom
问题描述
我有一个使用 Web 组件的网页。我能够选择所有元素并执行断言,例如检查exists
, innerText
。但是,在表演click
方面,它不起作用。我想知道对元素执行点击是否有任何限制shadow-root
?
样本
我有一个带有 id 的父 div,#pricePlans
然后我将其用作基础来选择其中的元素。您可以在下面看到我如何使用 Selector 的示例。光标甚至没有悬停在我的按钮上。
this.marathiCard = Selector(() => document.querySelector('#pricePlans').shadowRoot.querySelectorAll('[class*="grid-item"]')).nth(1);
this.marathiSignUpButton = this.marathiCard.find('[class*="c-btn c-btn--primary"]');
await t.click (this.marathiSignUpButton);
先感谢您
解决方案
使用 怎么样.shadowRoot
,你可以这样写:
test('Click inside shadowDOM', async t => {
const shadowBtn = Selector(() => document.querySelector('#abc').shadowRoot.querySelector('#btn1'));
await t
.click(shadowBtn);
});
Github 上有一些示例,例如https://gist.github.com/AlexanderMoskovkin/897073929442db031d518e1e6db4ec9e或https://github.com/DevExpress/testcafe/issues/2172
推荐阅读
- php - PHP月年日选择下拉列表在中间件laravel中生成日期格式
- python - 熊猫数据框添加数据框python
- android - 是否必须在 android 的主线程之外的房间中编写查询?
- python - 我想根据用户输入更新海龟
- android - 按下时升级到 dart 2.2.1 在图标按钮和凸起按钮中不起作用
- mysql - 解决 mysql 数据库中的 sequelize 布尔值
- python - 为什么我的代码没有返回正确的值?
- django - 在提交表单时如何在来自 ajax 的视图中读取文件上传控制数据
- python-3.x - 你如何检查熊猫数据框中的日期时间列是否属于每一行的相同日期?
- java - 如何显示 JPanel 的网格