Testcafe get text from element(Testcafe 从元素中获取文本)
问题描述
我正在尝试从 Chrome 上的模式中获取文本.使用控制台,我可以得到如下内部文本:
I'm trying to get a text from a modal on Chrome. Using the console, I can get the inner text as follows:
document.querySelector('.my-form > a').innerText
// returns http://a-url.com
现在,在我的测试中,我可以使用评估元素
Now, on my test, I can evaluate the element using
const myText = Selector('.my-form > a').innerText;
await t
.expect(myText).contains('url');
我什至可以点击那个网址
and I can even click on that URL
await t.click(myText);
但例如,我不能将该内部文本放入变量中.我尝试使用 这篇文章
but I cannot put that inner text to a variable, for instance. I tried using a ClientFunction from this post
const getUrl = ClientFunction(() => document.querySelector('.my-form > a').innerText);
test('My Test', async t => {
const text = await getUrl();
console.log(text);
});
// this results in
// TypeError: Cannot read property 'innerText' of null
并尝试使用普通选择器作为 这篇文章建议
and tried using a plain Selector as this post suggests
const text = Selector('.my-form > a').innerText;
const inner = await text.textContent;
console.log(inner);
// prints: undefined
如何从元素中提取文本?我知道 t.selectText
在这种情况下是有限的,对吧?
How to extract a text from an element? I understand that t.selectText
is limited in this scenario, right?
推荐答案
来自 文档 你想要的:
const text = await Selector('.my-form > a').innerText;
这篇关于Testcafe 从元素中获取文本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Testcafe 从元素中获取文本
- Flexslider 箭头未正确显示 2022-01-01
- 失败的 Canvas 360 jquery 插件 2022-01-01
- 如何使用 JSON 格式的 jQuery AJAX 从 .cfm 页面输出查 2022-01-01
- addEventListener 在 IE 11 中不起作用 2022-01-01
- Quasar 2+Apollo:错误:找不到ID为默认的Apollo客户端。如果您在组件设置之外,请使用ProvideApolloClient() 2022-01-01
- 使用RSelum从网站(报纸档案)中抓取多个网页 2022-09-06
- Css:将嵌套元素定位在父元素边界之外一点 2022-09-07
- CSS媒体查询(最大高度)不起作用,但为什么? 2022-01-01
- 400或500级别的HTTP响应 2022-01-01
- Fetch API 如何获取响应体? 2022-01-01