У меня есть веб-страница, которую я хочу использовать с YQL. Но мне нужен XPath конкретного предмета. Я вижу это в области инструментов отладки для Google Chrome, но я не вижу способа скопировать этот XPath.
Есть ли способ скопировать полный XPath?
У меня есть веб-страница, которую я хочу использовать с YQL. Но мне нужен XPath конкретного предмета. Я вижу это в области инструментов отладки для Google Chrome, но я не вижу способа скопировать этот XPath.
Есть ли способ скопировать полный XPath?
Ответы:
Вы можете использовать $x
в консоли Chrome Javascript. Расширения не нужны.
например: $x("//img")
Также окно поиска в веб-инспекторе примет xpath
Ctrl+Space
не раскрывается $x
. Если вы просто напечатаете, $x
вы увидите, как это достигается, поэтому ФП сможет определить, как добиться того, чего они хотят. Например; document.evaluate('//h1', document, null, XPathResult.STRING_TYPE, null).stringValue
Щелкните правой кнопкой мыши узел => «Копировать XPath».
Расширение XPath Helper делает то, что вам нужно: https://chrome.google.com/webstore/detail/hgimnogjllphhhkhlmebbmlgjoejdpjl
В Chrome расширение не требуется. Щелкните правой кнопкой мыши по любому элементу, для которого вы хотите использовать xpath, и нажмите «Проверить элемент», а затем снова внутри Инспектора, щелкните правой кнопкой мыши по элементу и нажмите «Копировать Xpath».
Google Chrome предоставляет встроенный инструмент отладки, называемый Chrome DevTools , который включает удобную функцию, которая может оценивать или проверять селекторы XPath / CSS без каких-либо сторонних расширений.
Это можно сделать двумя способами:
Используйте функцию поиска на панели «Элементы» для оценки селекторов XPath / CSS и выделения соответствующих узлов в DOM. Выполните токены $ x ("some_xpath") или $$ ("css-селекторы") на панели консоли, которые будут как оценивать, так и проверять.
Из панели «Элементы»
Нажмите F12, чтобы открыть Chrome DevTools.
Панель элементов должна быть открыта по умолчанию.
Нажмите Ctrl + F, чтобы включить поиск DOM на панели.
Введите XPath или CSS селекторы для оценки.
Если есть совпадающие элементы, они будут выделены в DOM. Однако, если в DOM есть соответствующие строки, они также будут считаться действительными результатами. Например, заголовок селектора CSS должен соответствовать всему (встроенный CSS, скрипты и т. Д.), Который содержит заголовок слова, а не только элементам соответствия.
Из панели консоли
Нажмите F12, чтобы открыть Chrome DevTools.
Переключиться на панель консоли.
Введите XPath, как $x(".//header")
для оценки и проверки.
Введите CSS селекторы, как $$("header")
для оценки и проверки.
Проверьте результаты, возвращаемые при выполнении консоли.
Если элементы совпадают, они будут возвращены в списке. В противном случае отображается пустой список [].
$x(".//article")
[<article class="unit-article layout-post">…</article>]
$x(".//not-a-tag")
[ ]
Если селектор XPath или CSS недопустим, исключение будет отображаться красным текстом. Например:
$x(".//header/")
SyntaxError: Failed to execute 'evaluate' on 'Document': The string './/header/' is not a valid XPath expression.
$$("header[id=]")
SyntaxError: Failed to execute 'querySelectorAll' on 'Document': 'header[id=]' is not a valid selector.
Позвольте рассказать вам простую формулу, чтобы найти xpath любого элемента:
1- Открыть сайт в браузере
2- Выберите элемент и щелкните по нему правой кнопкой мыши.
3- Нажмите опцию проверить элемент
4- Щелкните правой кнопкой мыши по выбранному HTML
5- выберите вариант для копирования xpath Используйте его там, где вам нужно
Эта ссылка на видео будет полезна для вас. http://screencast.com/t/afXsaQXru
Примечание. Для предварительных настроек xpath вы должны знать регулярное выражение или шаблон вашего HTML.
$x('//*[@id="answer-33492958"]/table/tbody/tr[1]/td[1]/div/a[1]')[0].click();
xpathOnClick содержит то, что вы ищете: https://chrome.google.com/extensions/detail/ikbfbhbdjpjnalaooidkdbgjknhghhbo
Прочитайте комментарии, хотя, чтобы получить xpath, требуется три клика.
Что касается последнего обновления для Chrome, теперь вы можете щелкнуть любой элемент в инспекторе элементов и скопировать XPath в буфер обмена.
Для Chrome, например:
а. Для этого, открыв панель «Элементы» браузера, нажмите CTRL + F и вставьте XPath.
б. Внесите изменения, как описано в следующем примере.
Абсолютный xpath = // * [@ id = "app"] / div [1] / header / nav / div [2] / ul / li [2] / div / button
Связанный xpath = // div // nav / div [2] / ul / li [2] / div / button
Когда вы вносите изменения:
Просто щелкните правой кнопкой мыши на элементе, для которого вы хотите использовать xpath, и вы увидите пункт меню, чтобы скопировать его. Этого, возможно, не существовало, когда ОП сделал свой пост, но это, безусловно, сейчас.
Немного ОТ, но, возможно, полезно: в Mac Chrome, хотя вы не можете скопировать xpath из поля поиска на панели инструментов Dev (вместо этого копировать захватывает узел как HTML), вы можете перетаскивать текст во внешний редактор.
Я перепробовал почти все доступные расширения и нашел ниже один из лучших.
Как и FirePath, это расширение напрямую дает вам Xpath, когда вы нажимаете Inspect.
нажмите Cntl + Shift + C
на элемент, который хотите получить XPath
, нажав на него
right click
в выделенной части консоли
copy
->copy XPath
Используйте это расширение, оно генерирует xpaths на основе идентификатора или класса, что, вероятно, вы хотите использовать.
Нажмите на значок браузера, панель отобразится в правом углу страницы, затем нажмите «Начать проверку», затем нажмите на любой элемент, чтобы получить свой xpath.