Вы можете использовать способ Xpath для этого.Кукловод имеет функцию xpath.
Теория
Из своих документов
page.$x(expression)
expression <string> Expression to evaluate.
returns: <Promise<Array<ElementHandle>>>
The method evaluates the XPath expression.
Он вернет массив элементов.Мы можем click
их, как мы хотим.
Практика
Получить xpath для элемента,
Теперь примените его,
// we execute the xpath
const elems = await page.$x(`//*[@id="#LINK1$1"]`)
// We click the first element, since it returns an array
await elems[0].click();
Готово!
Кстати, это также работает в браузере,
function getElementByXpath(path) {
return document.evaluate(path, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
}
getElementByXpath(`//*[@id="#LINK1$1"]`)
// >> Returns single node <a id="#LINK1$1">Test</a>