1. 程式人生 > >selenium webdriver 常用方法

selenium webdriver 常用方法

1、獲得頁面的原始碼

driver.get('http://www.baidu.com')
source_code = driver.getPageSource()

如果想將獲得的網頁原始碼儲存成檔案的話:

f = open(r'c:\html_source_code.html','w')
f.write(source_code.encode('utf-8'))
f.close()

2、獲得頁面元素的某個屬性(title,target ....)

element = driver.find_element_by_id('#id')
element.get_attribute('&&&')

3、判斷某個元素的值是否為某種型別 (正則表示式根據具體的型別去寫):

self.assertRegex(driver.find_element_by_class_name("className").text,r"^[\s\S]*[Tt]ext*$")

4、cookie處理

driver.get_cookies() 獲取cookie資訊

add_cookie(cookie_dict) 向cookie中新增會話資訊

delete_cookie(name) 刪除特定的cookie

delete_all_cookies() 刪除所有cookie

driver.get("http://www.baidu.com
")
driver.add_cookie({'name':'aaa', 'value':'bbb'})
for cookie in driver.get_cookies():
    print "%s -> %s" % (cookie['name'], cookie['value'])

如果想把所有cookies 儲存成txt檔案以便以後使用,可以使用python pickle module
import pickle
import selenium.webdriver 

driver = selenium.webdriver.Firefox()
driver.get("http://www.google.com")
pickle.dump( driver.get_cookies() , open("cookies.pkl","wb"))

#and later to add them back:

import pickle
import selenium.webdriver 

driver = selenium.webdriver.Firefox()
driver.get("http://www.google.com")
cookies = pickle.load(open("cookies.pkl", "rb"))
for cookie in cookies:
    driver.add_cookie(cookie)