学習の目標:
XPathの位置は、従来の測位方法、測位の最も効果的な方法のためのものです。
シーン:
ページ要素の配置。
公式の手順:
STEP1:一般プロパティ
UIの例
UIの関連HTMLコード例
関連するコード例:
#ID測位 dr.find_element_by_xpath(' // * [ID = "ユーザ名LoginForm" @] ' ).click() #タグラベルの位置によっては、 #は、任意のタグのアスタリスク一致し dr.find_element_by_xpath(" // *を[@ = ID "LoginForm-ユーザ名"] ' ).click() #のラベル名が指定されている dr.find_element_by_xpath(' // INPUT [@ = ID "LoginForm-ユーザ名"] " ).click() #クラスの標的とすることにより dr.find_element_by_xpathを(' // * [@クラス= "フォームコントロール"] ' ).click() #名前のアンカーによって dr.find_element_by_xpath(" // * [@名="LoginForm [ユーザー名] "] ")。クリック()
STEP2:その他の属性
#他の特性の中で、ここアフリカのID、名前、位置、いくつかのページのクラス属性である dr.find_element_by_xpathを(「// * [テキスト()= 『テキストページのポジショニング』] 」) #の属性の組み合わせの複数の DR。 find_element_by_xpath(' // * [@タイプ= "テキスト"と@ ID = "ユーザ名-LoginForm"] ')
STEP3:階層
。要素の場合、その属性は、非常に明確ではありませんに直接配置することはできません、我々は誰かがその父(親要素)を見つけることができます。この時間
bが。それを見つけるために父親の後、次のレベルにまでナビゲートすることができるようになります見つけます
HTMLコードの解釈
ソリューション
#父ノードの位置によって dr.find_element_by_xpath(' // * / INPUT [クラス@ = "フォーム・グループ・フィールド・LoginForm-エラーはユーザ名を必要としている"] ' ).click() #祖父ノードの位置によって dr.find_element_by_xpath(" * //のdiv / [ID = "ログイン・フォーム" @] [1] / DIV / INPUT ")
STEP4:ポジショニングインデックス
HTMLコードが実証します
ソリューション:
#1 のXPath位置決め指標、初期開始からインデックス値 dr.find_element_by_xpath(' // [@ ID = "NR"] /オプションを選択し、[1] ').click()
STEP5:あいまい一致
1.xpath非常に強力な機能、ファジーマッチングがある
2.マスターファジー・マッチング、基本的には以下に位置していない
例えば3が、私は前回の記事で言えば、ハイパーリンクBaiduのページ「hao123」を見つけたいですオーバーby_linkによって、また、ファジー・マッチングの対象をby_partial_linkすることができます。もちろん、XPathは、同じ機能を有していてもよく、そしてより強力な。
2.マスターファジー・マッチング、基本的には以下に位置していない
例えば3が、私は前回の記事で言えば、ハイパーリンクBaiduのページ「hao123」を見つけたいですオーバーby_linkによって、また、ファジー・マッチングの対象をby_partial_linkすることができます。もちろん、XPathは、同じ機能を有していてもよく、そしてより強力な。
#のポジショニングBaiduのホームページhao123の dr.find_element_by_xpath(' // * [含まれています(テキスト()、 "hao123")] ' ).click() #Baiduの検索ボックスのプロパティに一致するファジー dr.find_element_by_xpath(" // *を[(@id、 "KW")を含み、@class = "s_ipt"] ' ()).click #ファジーマッチングは何から始まる (dr.find_element_by_xpath ' // * [ソーホーが開始-で(@class、 "s_ip") ] ').click()
難しさ:
学び、使用し、そこには困難が、ありません多目的にあります。
学習のまとめ:
XPathの制御ソリューションをターゲットページの80%