python爬取網頁,少不了使用幾種網頁元素的定位方法。
使用火狐瀏覽器下載firebug和firepath組件,可以有效快速的獲取定位。
常見定位方法
常見的定位元素、id、class、css、xpath使用方法如下:
find_element_by_name
find_element_by_xpath
find_elemrnt_by_link_text
find_element_by_css_selector
其中xpath、selector等可以通過firepath審查元素,對相關選項點擊鼠標右鍵copy得到。
導入相關庫
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
打開網頁進行搜索
使用id定位
dr = webdriver.Chrome() #打開谷歌瀏覽器
url=”http://www.baidu.com”
dr.get(url)
dr.find_element_by_id(“kw”).send_keys(“python”)
time.sleep(5)dr.find_element_by_id(“su”).click()
time.sleep(5)print(“瀏覽百度完成”) dr.quit()
關於css 定位
id屬性、class、標籤定位他們還能組合在一起使用
以百度首頁爲例
#表示id屬性 .表示class屬性 標籤直接使用
dr.find_element_by_css_selector(“#kw”)
dr.find_element_by_css_selector(“.s_ipt”)
dr.find_element_by_css_selector(“input”)
組合形式
driver.find_element_by_css_selector(“input.s_ipt”)
driver.find_element_by_css_selector(“inpot[ad=”sss”]”)
層級關係 這裏是input下的span下的a元素
driver.find_element_by_css_selector(“inpot > span >a”)