0

我正在使用 Spectron 和 webdriverIO 测试电子应用程序,当我尝试使用 xpath 定位元素时,它似乎不起作用,因为当我登录控制台时它告诉我元素未定义。html代码如下所示:

<div class="shadowdiv style-scope bmp-graphs" id="bmsgraphsdiv">
<span class="style-scope bmp-graphs"><a class="style-scope bmp-
graphs">some text</a></span>
</div>

从 Chrome 开发者工具复制的 Xpath 是

//*[@id="bmsgraphsdiv"]/span/a

当我把它放到下面的测试代码中时(使用 Spectron、Mocha 和 Chai)

it('text test', function () {

var text = app.client.element('//*[@id="bmsgraphsdiv"]/span/a');
var innerText = text.innerText;
console.log("text is " + innerText);

return expect(innerText).to.eventually.equal('some text');
});

似乎它不喜欢我在element()函数中使用的基于属性的 Xpath。任何人都知道为什么会这样,或者无论如何我可以在不使用文本的情况下获取元素,因为内部文本是我与文本相关的内容之一?

4

0 回答 0