質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

XPath(XML Path)

XML Path Language (XPath; XMLパス言語)は、マークアップ言語 XML に準拠した文書の特定の部分を指定する言語構文の事をいいます。XPathはXMLとは別の構文を使用します。XMLドキュメントの抽象、論理ストラクチャ上で動作します。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

5344閲覧

可変部を含むid, classの箇所をXPATHで取得する記述方法が分からない

wkbiz

総合スコア152

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

XPath(XML Path)

XML Path Language (XPath; XMLパス言語)は、マークアップ言語 XML に準拠した文書の特定の部分を指定する言語構文の事をいいます。XPathはXMLとは別の構文を使用します。XMLドキュメントの抽象、論理ストラクチャ上で動作します。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2019/06/10 15:16

よろしくお願いします。
添え字(?)が可変式のDIV/idを取得するXPATHを作成したいのです

期待したいのは、
・可変のID、class名にも対応したい
・可変するID、class名の添え字(?数字部)に、範囲にあるものだけヒットするようにしたい

例えばこんな感じのHTMLの箇所を抽出したい、

html

1<div class="Button-label label-70" id="id__178">送信</div>

xpath

1$x('//div[@class="Button-label label-70"]')

  ブラウザのコンソール上に表示するため$x()
で、実際に実行したい環境では複数引っかかるものの、抽出はしてくれます。
しかしこれでは抽出したい1つの箇所を抽出できません。

xpath

1$x('//div[@class="ms-Button-label label-70"]/div[@id="id__178"]/self::text()')

と試しにやってみましたがエラーこそならないものの値が取れている感じではありません。

[contains(@xx, 'yy')]なども試しましたが、たぶん構文でエラーになってしまいます。

いろいろ調べ足りない部分あるのだと思いますが、ご助言いただけると幸いです。

以上、よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

wkbiz

2019/06/10 23:34 編集

ありがとうございます。 CSSになります。 複雑な記述になると大変で、慣れてないので大変ですσ(^_^;) こちらではコメントに評価できないため、宜しければ通常の解答欄にコメントいただけると幸いです
suama

2019/06/11 00:35

失礼しました。回答側にも書いてみますね。
guest

回答1

0

ベストアンサー

こんにちは。
特定の要素を絞り込みたい、というのを期待していると思って書いてみますね。
認識がずれていたらご容赦ください。
(あと、XPATHを処理するのがCSSなのかJavaScriptなのかRubyなのか...というのもちょっと知りたくて質問させていただきました。)

CSSの擬似セレクタだと簡単なパターンマッチ(前方後方部分一致)ができるので、そちらはいかがでしょうか?

https://developer.mozilla.org/ja/docs/Web/CSS/Attribute_selectors

div[class*="Button-labellabel-"] とか。

XPATHでも、パターンマッチできるかもしれませんが環境がちょっとわからないので、過去のトピックも貼らせていただきます。

投稿2019/06/11 00:45

suama

総合スコア1997

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

wkbiz

2019/06/12 16:27

コメント遅くなり申し訳ございません。 解決にはまだ至ってないのですが、とても参考になりました。有難うございました
suama

2019/06/12 23:02

こちらこそ、即解決につながらず恐れ入ります。 要素のパースの方法ですが、先に「言語はなんですか?」と質問させていただいたのは、XPATHの解析に差があったりすることもちょっと考慮しての質問でした。 JavaScriptで操作するのか、Pythonでなのか、C#なのかな...?というあたりです。 詰まったら、やりたいことは本当にこれでいいのかな?別な方法が取れないかな?とか考えてみるといいかもしれません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問