我将以下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不是函数
答案 0 :(得分:1)
这里的问题是$$
(getElements
的别名)返回一个元素数组,而不仅仅是一个元素。元素具有getText()
方法,但数组没有。
如果要获取所有值的列表,则需要将元素列表映射到每个元素的值:
$('.highcharts-xaxis-labels').$$('text').map(textElement => textElement.getText());