Драматург: получить полный XPATH выбранного элемента
Я хочу получить полный XPATH (
\\html\div\...
) элемента, который я ранее нашел, например,
page.waitForSelector()
или же
page.querySelector()
.
Как бы я поступил так с драматургом? Никаких встроенных решений для этого мне найти не удалось.
ПРИМЕЧАНИЕ: я использую
playwright-python
, но был бы открыт для реализации JS-решений для этого - при условии, что это будет работать.
Шаблон (взят из
https://github.com/microsoft/playwright-python
образец кода):
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
for browser_type in [p.chromium, p.firefox, p.webkit]:
browser = browser_type.launch()
page = browser.new_page()
page.goto("http://whatsmyuseragent.org/")
element = page.waitForSelector(selector="text=\"My IP Address: 192.168.0.1\"")
# HERE: retrieve full XPATH of 'element'
browser.close()
1 ответ
Для Typescript/Javascript есть playwright-dompath , который вы можете установить с помощью:
npm install playwright-dompath
По сути, вы просто вызываете функцию xPath с выбранным вами элементом и получаете полный xPath. Под капотом он использует те же функции из Chrome DevTools.