0
私はJavaとSeleniumを使ってテストを行っています。私のDOMには、2つのsvg
タグがあります。それらのうちの1つが2つの内側のpath
タグを持っています。私は私が使用このsvg
を取得する必要があります:count()関数を使用して特定の数の内部タグを持つ要素を取得する方法
wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath(
"//*[local-name() = 'svg' and count(.//path)>'2']")));
または
wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath(
"//*[local-name() = 'svg'] [count(.//path)>'2']")));
が、それは動作しません。私はそれが間違っていることを知る必要がありますので、他の方法を提供してください。ありがとう。問題は、あなたがSVG要素である
.//path
を見つけようとしているある
//*[local-name() = 'svg' and count(.//*[local-name() = 'path' ])>'1']
または
//*[local-name() = 'svg'][ count(.//*[local-name() = 'path' ])>'1']
HTMLの関連部分を投稿します。誰もxpathが動作する理由を伝えることはできませんが、対応するHTML/XMLを知らなくても他のxpathは動作しません。 – har07
ちょうどフレンドリーなヒントです。このページを読むことができます:[How-To-Ask Guide](https:// stackoverflow。 com/help/how-to-ask)ので、質問が簡単に答えることができ、できるだけ明確であることを常に確認することができます。あなたが抱えている問題を修正するためにあなたがした努力と、それらの修正を試みたときに何が起こったのかを必ず含めてください。ショーコードとエラーメッセージも忘れないでください! –