8種類の合計を対象に、Webページの要素:
1、find_element_by_id()メソッドを使用してID測位
2、find_element_by_name()メソッドを使用して名前位置決め
3、find_element_by_class_nameを使用して、クラス測位()メソッド
4、find_element_by_tag_nameを使用してタグの位置()メソッド
HTML自体は、以下のような、異なる機能タグによって定義され、<DIV>、<入力>、他のタグは<A>あり、標準のタグ名で異なる要素間を区別することは困難です
5、find_element_by_link_text()メソッドを使用してリンク位置
ハイパーリンクを検索するために設計されたリンクの位置、テキストリンク
図6に示すように、部分的なリンク利用した測位find_element_by_partial_link()メソッド
ターゲット部分のリンクは、リンクの位置を補足するものです、そしていくつかのテキストは、我々は唯一のこのリンクを識別できる情報のこの部分限り、位置にテキストリンクの部分を取ることができ、長いリンク
以下のような:あなたが書くことができたときに見つけて「これは、非常に、非常に長いテキストリンクである」:find_element_by_partial_link(「これは非常に長いです」)
図7に示すように、XPathロケーションfind_element_by_xpath()メソッド
7.1絶対位置パス
絶対位置のパスが使用されていない、パスが長すぎます
位置決め要素を使用すると、7.2属性
1 driver.find_element_by_xpath(' //入力[ID @ = "KW"] ')
//現在のページディレクトリ、入力表示ラベル名位置要素、[@ ID =「KW」はこの要素のid属性の値を表すKWに等しいです。
ラベル名を指定しない場合、あなたはまた、それがこの要素を一意に識別できるよう、要素の任意の属性値を使用することができ、代わりにアスタリスク(*)を使用することができます
1 driver.find_element_by_xpath(" // * [オートコンプリート= 'オフ'] ")
プロパティと組み合わせた7.3レベル
要素自体は、この要素を一意に識別する値を属性することができない場合は、要素上でそれを見つけることができます、あなたは、プロパティ値を一意に識別することができることを知ることができます
1 driver.find_element_by_xpath(" //スパン[クラス= soutu-BTN] /入力")
7.4論理演算子
プロパティが唯一の要素であることができない場合は、要素を見つけるために、複数のプロパティを接続するための論理演算子が支払う使用することを検討してください
1 driver.find_element_by_xpath(" //入力[ID @ = 'KW'と名前@ = 'WD'] ")
図8に示すように、CSS位置決め用途:find_element_by_css_selector()
任意の属性選択CSSポジショニングのより柔軟な制御が速いのXPathを超えることはでき
(。)8.1、クラス属性番号を標的化することによって表されます。
1 driver.find_element_by_css_selector(" .s_ipt ")
8.2 id属性を配置することによって、と(#)記号を示します。
1 driver.find_element_by_css_selector(" #kw ")
タグ名を配置することにより8.3:
1 driver.find_element_by_css_selector(" INPUT " ) 2 #親子関係で位置決め 3 driver.find_element_by_css_selector(" スパン> INPUT " ) 。4 #配置プロパティによって 5 driver.find_element_by_css_selector(" [NAME = 'キロワット'] " ) 。6 #統合測位 7 driver.find_element_by_css_selector(" form.fm>スパン> input.s_ipt ")
位置決め要素を使用することにより9.
測位方法の前の8種類のために、webdriverをも書き込むための別の方法を提供し、それは統一コールfind_element()メソッドであり、測位方法によりにより宣言し、測位の測位方法に対応するパラメータを渡します
ときカテゴリー別の要素を使用する場合に配置することによって、あなたは最初にする必要があり
1 から selenium.webdriver.common.byのインポートにより、
1 driver.find_element(By.ID、" KW " ) 2 driver.find_element(By.NAME、" WD " ) 3 driver.find_element(By.CLASS_NAME、" s_ipt " ) 4 driver.find_element(By.TAG_NAME、「入力" ) 5 driver.find_element(By.LINK_TEXT、" 新闻" ) 6 driver.find_element(By.PARTIAL_LINK_TEXT、" 新" ) 7 driver.find_element(By.XPATH、" //入力[ID @ =」キロワット'] ") 8 driver.find_element(By.CSS_SELECTOR、" span.bg s_btn_wr>入力#SU ")