如何解决量角器JavaScript获取文本标签h1
我正在努力从Web元素获取文本。我想将文本返回给函数调用者,但它始终返回null。
function loadWebsite(url)
{
try{
var retText = null;
browser.get(url);
browser.sleep(5000);
browser.ignoreSynchronization = true;
var eleWelcomeTxt = element(by.css(".intro-content"));
browser.wait(EC.textToBePresentInElement(eleWelcomeTxt),5000);
eleWelcomeTxt.getText().then(function(text){
retText = text;
});
}catch(err){
console.log("exception error: " + err.message);
}
return retText;
}
然后我正试图在标签h1处获取文本
public class Levels {
@SerializedName("game")
public List<Game> game;
/**
* No args constructor for use in serialization
*
*/
public Levels() {
}
/**
*
* @param game
*/
public Levels(List<Game> game) {
super();
this.game = game;
}
public List<Game> getGame() {
return game;
}
public void setGame(List<Game> game) {
this.game = game;
}
public Levels withGame(List<Game> game) {
this.game = game;
return this;
}
}
该函数始终返回null;
解决方法
问题1.更改CSS选择器 element(by.css(“。intro-content h1”));
问题2。答应包装您的代码
async function loadWebsite(url)
{
return new Promise(async(resolve,reject)=>{
try{
await browser.get(url);
await browser.sleep(5000);
browser.ignoreSynchronization = true;
let eleWelcomeTxt = element(by.css(".intro-content h1"));
await browser.wait(EC.textToBePresentInElement(eleWelcomeTxt),5000);
let text = await eleWelcomeTxt.getText();
return resolve(text);
}catch(err){
console.log("exception error: " + err.message);
return reject();
}
})
}
,
根据doc,EC.textToBePresentInElement
方法接受2个参数
EC.textToBePresentInElement(element,elementText)
实际上并不是很确定要执行的操作,仅举一个如何验证元素中文本的示例:
/*
* get element Text
* @param container - the container of the desired element
* @param elementToGet - the class name of the element to get
* @param value - value to check
*/
expectElementTextToEqual: function (container,elementName,expectedVal) {
ptor.ignoreSynchronization = true;
this.elementloadedInDOM(container);
let cont = element.all(by.className(container)).first();
cont.isDisplayed();
let el = cont.all(by.className(elementName)).first();
el.isEnabled();
el.isDisplayed();
expect(el.getText()).toEqual(expectedVal);
},
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。