Есть ли другой способ проверить строки XPATH помимо $ x? - PullRequest
0 голосов
/ 20 февраля 2019

Похоже, $x перезаписывается кодом на странице, с которой я сейчас работаю - я не могу использовать $x('//xpath-goes-here') для возврата чего-либо со страницы.

Я знаю, что $()является псевдонимом для document.querySelector(), но я не могу найти, если $x() является псевдонимом для другого метода, который я могу использовать вместо этого.

Есть ли другой способ использования инструментов разработчика Chrome для проверки того, что будет строка XPATHвернуться?

1 Ответ

0 голосов
/ 20 февраля 2019

Используйте инструмент поиска инспектора элементов devtools: нажмите Ctrl F или ⌘F, затем введите запрос xpath, и соответствующие элементы будут выделены:

enter image description here

Или повторно внедрите нативную функциональность , используя document.evaluate () под новым именем, например $$x:

function $$x(xpath, root = document) {
  const x = document.evaluate(xpath, root, null, XPathResult.ANY_TYPE, null);
  if (x.resultType === XPathResult.STRING_TYPE)
    return x.stringValue;
  if (x.resultType === XPathResult.NUMBER_TYPE)
    return x.numberValue;
  if (x.resultType === XPathResult.BOOLEAN_TYPE)
    return x.booleanValue;
  const results = [];
  let node;
  while ((node = x.iterateNext()))
    results.push(node);
  return results;
}

Сохраните этот код на панели фрагментов devtools с именем $$x, чтобы вы могли быстро ввести его, нажав Ctrl P или ⌘P,После этого вы сможете использовать его в консоли.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...