1

旧タイトル:タグの明示で要素がヒットしなくなる

 
 

強いXPathを求めてChrome DevToolsで試行錯誤中に遭遇しました。

https://winactor.com/questions/question/xpathでヒットする部分の確認方法/

タグを明示すると、要素がヒットしなくなります。
初めての経験です。
理由を知りたいです。
追加の確認ポイントがあればお知らせください。

 

挙動

//svg[@aria-nantoka="arrow bottom aaa bbb"] → 0ヒット

//*[@aria-nantoka="arrow bottom aaa bbb"] → 1ヒット

 

思い

  • 学んで身に着けた法則が通じない
  • SVGだから?
  • WAI-ARIAだから?
  • フローティングだから?

 

ソースサンプル

<svg aria-nantoka="arrow bottom aaa bbb">
  <b></b>
</svg>

  • aria-属性しか要素を一意に特定する手掛かりがないように感じた

 

操作対象

  • ページ右下にフローティングで固定表示されるページトップ/ボトムにスクロールするボタン

 

目的

  • 最下部のボタンを押して、非表示エリアを表示する
  • 運用者に動きが見えるようにしていた

 

今回の試行錯誤のきっかけ

  • JavaScriptでscrollToしていた

window.scrollTo(0, document.body.scrollHeight);

https://winactor.com/questions/question/アドレスバーからjavascriptを実行してみた/

  • 非表示エリアの「値の取得」が空振りするようになっていた

 

近いイメージ

【CSS】positionのfixedで要素を固定!具体的な使い方を解説 | ZeroPlus Media
https://zero-plus.io/media/css-position-fixed/

  • fixed でトップに戻るボタンを右下に固定
  • これのボトムに進むボタンバージョン
  • 実際はこう並んでいる

↑ ↓ ≡

  • ≡はページ内アンカー/id位置にスクロールするリストを開くボタン

 

近い挙動

ページの指定の高さを超えたら出現し、フッター手前で止まる | 動くWebデザインアイディア帳
https://coco-factory.jp/ugokuweb/move01/8-1-6/

  • デモページの挙動が近い

 

効いた攻めかた

  • WebDriverのシナリオ
  • 「クリック」が効かない
  • JSPath.click();でクリックしたら最下部へスクロールした(JavaScriptでクリックした格好)

https://winactor.com/questions/question/クリックに失敗する箇所がjavascriptで乗り越えられた/

 

足掻いた軌跡

ウィンドウ前面化
End

  • タイミングの問題か、一発で機能しなかった
  • 機能したとしても、スピード感で物足りない
  • bodyをアクティブにしておけば、Endに成功したのかも

 

ひとまずクリアしてみて

  • 前後の要素との相対位置で指定するXPathならヒットしたのかも
  • だとしたら、@aria-nantokaが複数あって、、もうちょっと深堀らないと頭の整理が追い付かない
  • v7.4系の「状態変化待機」相当のしくみにしていれば、「値の取得」が空振ることはなかったのかも
この質問は解決済みのためクローズされています。
anothersolution 質問の編集
回答とコメントは、会員登録(無料)で閲覧できるようになります。