Я получаю элемент по координатам X, Y.Я хотел бы, чтобы мой конечный результат строки выглядел как Inspect -> copySelector:
body> div.layout.slidein-page-container> main> div.ng-scope> section.wrapper.wrapper--canvas> div> div> div> div: nth-child (2)
Так что будет хорошей строкой queryString оценить JSHandle из него.
Вот мой код:
let chosenElement = await page.evaluate((payload) => {
return document.elementsFromPoint(payload.data.x, payload.data.y)
.map((o) => {
if (o.id) {
return o.id;
} else if (o.className) {
if (o.className.includes(' ')) {
return o.tagName.toLowerCase() + '.' + o.className.split(' ').join('.');
} else {
return o.tagName.toLowerCase() + '.' + o.className;
}
} else {
return o.tagName.toLowerCase();
}
}).reverse().join(' > ');
}, payload);
Так что в настоящее время я проверяю только className и Id, но я хочу уточнить это.
Первая подсказка, которая мне нужна, - как проверить, если элементнапример, nth-child (2)?
Можете ли вы помочь мне с лучшим решением, пожалуйста