背景
基本上,我要做的是从一页上的元素中获取文本。将抓取的文本解析为数字,但仍保持字符串格式,因此我可以将其进一步用于xpath查询字符串。参见下面的代码
var bookingRefString = element(by.css(".panel-header span")).getText();
var bookingRef = String(bookingRefString).match(/\d+/);
element(by.id("menu_item_control")).click();
element(by.xpath(".//tr/td[1]//*[text()='" + bookingRef + "']/../..")).click();
我回来的错误
Failed: No element found using locator: By(xpath, .//tr/td[1]//*[text()='null']/../..)
从这个问题中我可以得出的结论
因此,可以得出结论,很明显,它没有解析“ bookingRefString”以获取注入到xpath中的“ null”所声明的数字。
答案 0 :(得分:3)
尝试:
element(by.css(".panel-header span")).getText().then((bookingRefString) => {
var bookingRef = bookingRefString.match(/\d+/);
element(by.id("menu_item_control")).click();
element(by.xpath(".//tr/td[1]//*[text()='" + bookingRef + "']/../..")).click();
});