利用python定位網頁上的元素


1. 想對網頁上的元素進行操作,首先需要定位到元素。

以百度首頁為例:

輸入以下代碼,打開百度首頁:

# coding = gbk
from selenium import webdriver

chrome_driver_path = "C:\Python27\selenium\webdriver\chromedriver\chromedriver"
global browser
browser = webdriver.Chrome(chrome_driver_path)
url_int = "https://www.baidu.com/"
browser.get(url_int)
print "Open baidu"

2. 在打開的百度首頁,右鍵點擊,選擇“查看網頁源代碼”。

以下網頁源代碼是與百度輸入框和“百度一下”按鈕有關的,先提取在這里,方便后續定位。

<span class="bg s_ipt_wr"><input id="kw" name="wd" class="s_ipt" value="" maxlength="255" autocomplete="off"></span><span class="bg s_btn_wr"><input type="submit" id="su" value="百度一下" class="bg s_btn"></span>

 3. 定位百度輸入框

通過id定位:

browser.find_element_by_id("kw")

通過name定位:

browser.find_element_by_name("wd")

通過標簽名tag_name定位:

browser.find_element_by_tag_name("input")

通過class_name定位:

browser.find_element_by_class_name("bg_s_btn_wr")

通過css定位:

  •  以id定位:
browser.find_element_by_css_selector("a[id=\"kw\"]")
  • 以name定位:
browser.find_element_by_css_selector("a[name=\"wd\"]")

 通過XPath定位:(XPath是一種在XML文檔中定位元素的語言)

  • attribute屬性定位(定位input標簽下,id=kw的元素):
browser.find_element_by_xpath("//input[@id='kw']")
  • id相關性定位(/form/span/input層級標簽下,div標簽下,id=fm的元素):
browser.find_element_by_xpath("//div[@id='fm']/form/span/input")
  • id為check的tr,定位它的第2個td:
browser.find_element_by_xpath("tr[@id='check']/td[2]")
  • position位置定位(第7個tr里面的第2個td):
browser.find_element_by_xpath("//tr[7]/td[2]")
  • href水平參考定位(a標簽下,查找包含‘網頁’的文本text元素):
browser.find_element_by_xpath("//a[contains(text(),'網頁')]")
  • link定位(a標簽下,查找鏈接為'href='http://www.baidu.com/'的元素):
browser.find_element_by_xpath("//a[@href='http://www.baidu.com']")

 通過link定位(可以查找文字鏈接,打開貼吧鏈接):

browser.find_element_by_link_text("貼吧")
browser.find_element_by_partial_link_text("")

 4. 定位”百度一下“按鈕

通過class_name定位

browser.find_element_by_class_name("bg_s_btn_wr")

 更多參考資料,請參考:

http://www.cnblogs.com/qingchunjun/p/4208159.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM