YQLで使いたいウェブページがあります。しかし、私は特定のアイテムのXpathが必要です。 Google Chromeのデバッグツール領域に表示されていますが、そのxpathをコピーする方法はわかりません。
完全なxpathをコピーする方法はありますか?
ChromeのJavaScriptコンソールで$x
を使用できます。拡張は必要ありません。
例:$x("//img")
Webインスペクタの検索ボックスもxpathを受け付けます
ノードを右クリック=> "XPathをコピー"
XPathヘルパー拡張はあなたが必要とすることをします: https://chrome.google.com/webstore/detail/hgimnogjllphhhkhlmebbmlgjoejdpjl
現在クロムで拡張は必要ありません。 xpathが欲しい要素を右クリックして "Inspect Element"をクリックし、それから再びInspectorの中で要素を右クリックして "Copy Xpath"をクリックしてください。
xpathOnClickはあなたが探しているものを持っています: https://chrome.google.com/extensions/detail/ikbfbhbdjpjnalaooidkdbgjknhghhbo
コメントを読んでください、それは実際にはXpathを取得するために3回クリックする必要があります。
Google Chromeには「 Chrome DevTools 」という組み込みのデバッグツールが用意されています。これには、サードパーティの拡張機能なしでXPath/CSSセレクタを評価または検証できる便利な機能が含まれています。
これは、2つの方法で実行できます。
エレメントパネル内の検索機能を使用してXPath/CSSセレクターを評価し、DOM内の一致するノードを強調表示します。コンソールパネルでトークン$ x( "some_xpath")または$$( "css-selectors")を実行します。これらは評価と検証の両方を行います。
エレメントパネルから
F12を押してChrome DevToolsを開きます。
要素パネルはデフォルトで開かれているはずです。
パネル内でDOM検索を有効にするには、Ctrl + Fを押します。
評価するXPathまたはCSSセレクターを入力します。
一致する要素がある場合、それらはDOMで強調表示されます。ただし、DOM内に一致する文字列がある場合、それらも有効な結果と見なされます。たとえば、CSSセレクターヘッダーは、要素のみではなく、Wordヘッダーを含むすべてのもの(インラインCSS、スクリプトなど)と一致する必要があります。
コンソールパネルから
F12を押してChrome DevToolsを開きます。
コンソールパネルに切り替えます。
評価と検証を行うには、$x(".//header")
のようにXPathを入力します。
評価と検証を行うには、$$("header")
のようなCSSセレクターを入力してください。
コンソールの実行から返された結果を確認してください。
要素が一致した場合、それらはリストに返されます。そうでなければ、空のリスト[]が表示されます。
$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のパターンを知っている必要があります。
最新のクロムのアップデートでは、要素インスペクタの任意の要素をクリックしてXPathをクリップボードにコピーできるようになりました。
Xpathが欲しい要素を右クリックするだけでそれをコピーするメニュー項目が表示されます。 OPが彼のポストを作ったとき、これは存在しなかったかもしれません、しかしそれは確かに今そこにあります。
FirefoxのFirebugでは、検査後に要素を右クリックして[XPathのコピー]を選択できます。 ChromYQLipをスムーズに動作させることができませんでした。
ちょっとOTですが、おそらく便利です。MacChromeでは、Devツールパネルの検索ボックスからxpathをコピーすることはできません(代わりにコピーするとノードをHTMLとして取得できます)が、テキストを外部エディタにドラッグアンドドロップできます。
私はほとんどすべての利用可能な拡張機能を試してみましたが、以下のものが最良のものであることがわかりました。
FirePathと同じように、この拡張子はInspectをクリックしたときに直接Xpathを提供します。
この拡張子を使うと、idやclassに基づいてxpathが生成されます。これはおそらくあなたが使いたいものです。
ブラウザのアイコンをクリックすると、パネルがページの右隅に表示されます。次に、[検査の開始]をクリックしてから、任意の要素をクリックしてxpathを取得します。
ChromeはXPathとセレクタの両方を提供していますが、どちらも属性 "id"またはその他の動的に変化するアイテムにデフォルト設定される傾向があります。上記の質問は、永続的な属性に頼る必要性によって引き起こされています。 https://www.burlingtonvisionandlab.com/Downloads/TuSqK231LashowXPathSE7HTML/showXPathSE1_7Table.html
ダウンロード可能な無料のjarファイルには、選択可能な到達者選択属性を含む長いパスが表示されます。