Google Chrome provides a built-in debugging tool called "Chrome DevTools" out of the box, which includes a handy feature that can evaluate or validate XPath/CSS selectors without any third party extensions.
This can be done by two approaches:
- Use the search function inside
Elements
panel to evaluate XPath/CSS selectors and highlight matching nodes in the DOM. - Execute tokens
$x("some_xpath")
or$$("css-selectors")
inConsole
panel, which will both evaluate and validate.
From Elements panel
- Press
F12
to open up Chrome DevTools. Elements
panel should be opened by default.- Press
Ctrl
+F
to enable DOM searching in the panel. - Type in XPath or CSS selectors to evaluate.
- If there are matched elements, they will be highlighted in DOM.
However, if there are matching strings inside DOM, they will be considered as valid results as well. For example, CSS selectorheader
should match everything (inline CSS, scripts etc.) that contains the wordheader
, instead of match only elements.
From Console panel
- Press
F12
to open up Chrome DevTools. - Switch to
Console
panel. - Type in XPath like
$x(".//header")
to evaluate and validate. - Type in CSS selectors like
$$("header")
to evaluate and validate. - Check results returned from console execution.
- If elements are matched, they will be returned in a list. Otherwise an empty list
[ ]
is shown.
- If elements are matched, they will be returned in a list. Otherwise an empty list
$x(".//article") [<article class="unit-article layout-post">…</article>] $x(".//not-a-tag") [ ]
- If the XPath or CSS selector is invalid, an exception will be shown in red text. For example:
$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.
js定位
console里面执行javascript代码,操作dom对象。
每个载入浏览器的 HTML 文档都会成为 Document 对象。Document 对象使我们可以从脚本中对 HTML 页面中的所有元素进行访问。
通过id获取
document.getElementById(“id”)
通过name获取
document.getElementsByName(“Name”) 返回的是list
通过标签名选取元素
document.getElementsByTagName(“tag”)
通过CLASS类选取元素
document.getElementsByClassName(“class”)
兼容性:IE8及其以下版本的浏览器未实现getElementsByClassName方法
通过CSS选择器选取元素
document.querySelectorAll(“css selector")
兼容性:IE8及其以下版本的浏览器只支持CSS2标准的选择器语法
转自:
https://yizeng.me/2014/03/23/evaluate-and-validate-xpath-css-selectors-in-chrome-developer-tools/
https://blog.csdn.net/jamieblue1/article/details/101075193