量角器-硒找不到移动设备的价值,但在HTML DOM中

问题描述 投票:0回答:1

所以当涉及移动测试用例时,我遇到了一些问题。当我尝试

const orderNumber = element(by.css('[data-ft="order-number"]'))
const orderNumberText = await orderNumber.getText();
console.log(`Order Number: ${orderNumberText}`);

对于台式机来说运行良好,但对于移动设备来说,找不到它(console.log的空返回),我试图打印出整个HTML DOM,然后在那里找到了值。

<div class="orderconfirmation-page">
  <h3 class="orderconfirmation-title">Thank you for your purchase.</h3>
  <div class="orderconfirmation-text">your order reference number:
    <span class="order-number" data-ft="order-number">7940700123456</span>
  </div>

正如我提到的。我之前发布的代码与台式机完美匹配,但是一旦通过移动设备完成操作,它就找不到值data-ft =“ order-number”,而是通过HTML DOM检查,它在那里。

我在做什么错?

javascript selenium protractor
1个回答
1
投票

[.getText()返回一个可见的文本值,因此,如果您没有滚动到元素或元素重叠,它将返回一个空字符串。

在这种情况下,您需要使用.getAttribute('innerText');

const orderNumber = element(by.css('[data-ft="order-number"]'))
const orderNumberText = await orderNumber.getAttribute('innerText');
console.log(`Order Number: ${orderNumberText}`);

尝试一下,看看是否可行

© www.soinside.com 2019 - 2024. All rights reserved.