selenium3 + Pythonの自動化-xpath学習の概要

まず、環境

  ブラウザ:クローム77.0.3865.75

  セレンバージョン:PIPショーセレンコマンドcmd表示3.141.0

二、XPathの概要

  1.xpath + ID /名前/クラス場所:

  driver.find_element_by_xpath( '//タグ名[@ ID = "id値"]')

  driver.find_element_by_xpath( '//タグ名[@名= "名前の値"]')

  driver.find_element_by_xpath( '//タグ名[@クラス= "クラス値"]')

  あなたはラベルを指定したい場合は、私たちが指定されていない場合、ラベル名は直接、使用を特定のタグの名前を書きます*

  例:

(Driver.find_element_by_xpath#' [ID = "kWの" @] // * ' .send_keys()' パイソン')#* 任意のラベルの代わりに
#のdriver.find_element_by_xpath(' // INPUT [ID @ = "キロワット"] ') .send_keys(' パイソン')は、特定のラベリング#

  2.xpath +他の属性のオリエンテーション:

  driver.find_element_by_xpath( '//タグ名[属性名@ = "属性値"]')

  3.xapthレベル位置決め

  XPathは、直接ターゲットにない場合は、第一層の位置によって、その父や祖父、そして層を見つけることができます

 

 

   父親を探すためにそれを使用して、与えられています

入力、エラー結果を見つけるための場所#父の入力ボックス
#のdriver.find_element_by_xpath( '//スパン[クラス@ = "BG s_ipt_wr quickdeleteラップ"] /入力')。Send_keys( 'Pythonの)
彼を配置#入力見つけるために祖父入力ボックス
#1 driver.find_element_by_xpath( '// * [@ ID = "フォーム"] /スパン入力/')。send_keys( 'パイソン')

  4.xpathインデックスは、XPathの同じラベルが、兄弟要素を位置決めする、インデックスが1から始まる算出される指標、及びPythonの異なるを使用し

#xpath索引,兄弟标签的定位,索引是从1开始计算,跟python的索引不同
text1=driver.find_element_by_xpath('//ul[@class="custom_dot  para-list list-paddingleft-1"]/li[1]/div').text
text2=driver.find_element_by_xpath('//ul[@class="custom_dot  para-list list-paddingleft-1"]/li[2]/div').text
text3=driver.find_element_by_xpath('//ul[@class="custom_dot  para-list list-paddingleft-1"]/li[3]/div').text
print(text1,text2,text3)

  5.xpath 逻辑计算 and/or/not,多个属性进行查找

  driver.find_element_by_xpath('//标签名[@属性1=“属性值1” and @属性2=“属性值2”]')

#xpath多属性
text=driver.find_element_by_xpath('//div[@class="para" and @label-module="para"]')
print(text)

   6.xpath模糊匹配,contains()用的多

  driver.find_element_by_xpath('//标签名[contains(text(),"要匹配的值")]')

  driver.find_element_by_xpath('//标签名[contains(@属性名,"要匹配的值")]')

  driver.find_element_by_xpath('//标签名[starts-with(@属性名,"要匹配的值")]')

#driver.find_element_by_xpath('//*[contains(text(),"hao123")]').click()
#xpath也可以模糊匹配某个属性
#driver.find_element_by_xpath('//*[contains(@id,"kw")]').send_keys('yangxuan')
#xpath可以模糊匹配以什么开头
driver.find_element_by_xpath('//*[starts-with(@id,"kw")]').send_keys('yx')

参考博客:https://www.cnblogs.com/yoyoketang/p/6123938.html

おすすめ

転載: www.cnblogs.com/xiaobeibi/p/12188039.html