ノー直接識別子を持つ要素を変更することを望むと言うが、類似したXpathの標的とされることはありません、各ブートストラップで動的に作成:のXpath IDが故に簡単
#js_n6 > div > ul > li:nth-child(4) > a > span > span
私は喜んで内部にそれを使用しますdocument.querySelector('')
しかし、問題がある:
#js_n6
IDは、各ブートストラップで動的に作成される(たびにWebページが形成されるか、または更新され):各では
あなたは別のIDを取得するブートストラップのようなは、,#js_v9
,#js z4
,#js k1
などであり、その他のXpathは同じままである。
IDとして[id^="js"]
のようなCSSワイルドカードを使用しようとしましたが、ワイルドカードで見つかった類似のIDを持つ他の以前の要素をターゲットにしているため、効果がないようです。
直接コードの例は、Facebook.comの会話ページです。すべての会話を含むページに移動し、コンソールで実行します。
document.querySelector('.5blh.4-0h').click();
次に、モーダルメニューの[削除]ボタンを調べ、Xpathを表示します。次に、リフレッシュしてもう一度表示すると、私は何を意味するかを見ていきます。
これを例として示します。私は誰も掻爬をしないように頼んでいます。私はFacebookについてこれを具体的に尋ねるのではなく、むしろ一般原則を得るようにしています。
この場合、直接IDのないオブジェクトを選択し、動的IDを持つXpathを使用してオブジェクトを選択することができますか?
注:私はサイトを所有していないと、サーバー側からの識別子を追加することはできませんどのような場合には
- 。