selenium: 模擬瀏覽器點(diǎn)擊
from selenium import webdriver
self.driver = webdriver.PhantomJS()
self.driver.get(self.url)
self.current_url = self.driver.current_url
模擬登錄:
def login(self, login_info):
self.driver.find_element_by_id("username").send_keys(login_info['user'])
time.sleep(1)
self.driver.find_element_by_id("password"
).send_keys(login_info['password'])
time.sleep(1)
elem = self.driver.find_element_by_xpath('//*[@id="fm1"]/div/div/div[4]')
elem.click()
time.sleep(2)
if self.current_url != self.driver.current_url:
print "登錄成功"
self.current_url = self.driver.current_url
頁(yè)面解析:
解析的函數(shù)有很多, 參照w3c的教程
floder_list = []
pots = self.driver.find_elements(By.XPATH, '//ul[@id="readTree"]//li[@id="1"]/ul/li[@id="1"]/ul/li[@id]')
for p in pots:
floder_list.append([p, 1, 1])
# p節(jié)點(diǎn)狀態(tài)都是動(dòng)態(tài)獲取的
pre_class = p.get_attribute("class") # 點(diǎn)擊前的class屬性
p.find_element_by_xpath('span').click()
prod_class = dt.get_attribute("class") # 點(diǎn)擊后的class屬性