在 Protractor 中调用 getText() 时 ElementFinder 正在记录
ElementFinder is logging when calling getText() in Protractor
我正在尝试在 Protractor 测试中获取以下文本:
我得到了 <a>
标签的 XPath 并试图在下面的测试中使用它,但是当我 运行 时,测试 Samsung Note 8
没有被记录,而是一个包含以下内容的大型对象已记录:
ElementFinder {
browser_: ProtractorBrowser {
controlFlow: [Function],
schedule: [Function],
setFileDetector: [Function],
getExecutor: [Function],
getSession: [Function],
getCapabilities: [Function],
quit: [Function],
actions: [Function],
touchActions: [Function],
......
这是我的测试代码:
it('does something', () => {
selectItems("Samsung Note 8");
element(by.css("a[class='nav-link btn btn-primary']")).click().then(() => {
var EC = protractor.ExpectedConditions;
var myTitle = element(by.xpath('/html/body/app-root/app-shop/div/div/div/table/tbody/tr[1]/td[1]/div/div/h4/a'));
browser.wait(EC.elementToBeClickable(myTitle.getText()), 5000).then(() => {
console.log(myTitle);
});
});
});
有人可以告诉我我做错了什么吗?
打印 getText 的解析值而不是元素查找器
var myTitle = element(by.xpath('/html/body/app-root/app-shop/div/div/div/table/tbody/tr[1]/td[1]/div/div/h4/a'));
browser.wait(EC.elementToBeClickable(myTitle), 5000);
myTitle.getText().then((t)=>{
console.log(t);
})
而且我鼓励使用相对 xpath 而不是绝对 xpath。例如:'.media-heading a'
将是 css 选择器
我正在尝试在 Protractor 测试中获取以下文本:
我得到了 <a>
标签的 XPath 并试图在下面的测试中使用它,但是当我 运行 时,测试 Samsung Note 8
没有被记录,而是一个包含以下内容的大型对象已记录:
ElementFinder {
browser_: ProtractorBrowser {
controlFlow: [Function],
schedule: [Function],
setFileDetector: [Function],
getExecutor: [Function],
getSession: [Function],
getCapabilities: [Function],
quit: [Function],
actions: [Function],
touchActions: [Function],
......
这是我的测试代码:
it('does something', () => {
selectItems("Samsung Note 8");
element(by.css("a[class='nav-link btn btn-primary']")).click().then(() => {
var EC = protractor.ExpectedConditions;
var myTitle = element(by.xpath('/html/body/app-root/app-shop/div/div/div/table/tbody/tr[1]/td[1]/div/div/h4/a'));
browser.wait(EC.elementToBeClickable(myTitle.getText()), 5000).then(() => {
console.log(myTitle);
});
});
});
有人可以告诉我我做错了什么吗?
打印 getText 的解析值而不是元素查找器
var myTitle = element(by.xpath('/html/body/app-root/app-shop/div/div/div/table/tbody/tr[1]/td[1]/div/div/h4/a'));
browser.wait(EC.elementToBeClickable(myTitle), 5000);
myTitle.getText().then((t)=>{
console.log(t);
})
而且我鼓励使用相对 xpath 而不是绝对 xpath。例如:'.media-heading a'
将是 css 选择器