webdriverio findelements和$$选项返回Typescript错误getText不是函数

时间:2018-10-01 09:10:57

标签: webdriver-io

我将以下html标记作为highchart的一部分生成

<g class="highcharts-axis-labels highcharts-xaxis-labels " data-z-index="7">
<text x="332.3333333333367" style="color:#666666;cursor:default;font-size:13;fill:#666666;" text-anchor="middle" transform="translate(0,0)" y="246" opacity="1">60</text>
<text x="886.9999999999668" style="color:#666666;cursor:default;font-size:13;fill:#666666;" text-anchor="middle" transform="translate(0,0)" y="246" opacity="1">65</text>
<text x="1441.6666666666667" style="color:#666666;cursor:default;font-size:13;fill:#666666;" text-anchor="middle" transform="translate(0,0)" y="246" opacity="1">70</text>
</g>

我试图提取其中的所有文本值,并使用以下命令

xAxis =  $('.highcharts-xaxis-labels').$$('text').getText();

我也使用XPATH尝试过browser.findelements。但是,两者都得到了错误消息

  

TypeError:$(...)。$$(...)。getText不是函数

1 个答案:

答案 0 :(得分:1)

这里的问题是$$getElements的别名)返回一个元素数组,而不仅仅是一个元素。元素具有getText()方法,但数组没有。

如果要获取所有值的列表,则需要将元素列表映射到每个元素的值:

$('.highcharts-xaxis-labels').$$('text').map(textElement => textElement.getText());