selenium webdriver 常用方法

2021-07-24 11:44:38 字數 1611 閱讀 2759

1、獲得頁面的原始碼

driver.get('')

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(

"")

driver.add_cookie()
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("")

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("")

cookies = pickle.load(open("cookies.pkl", "rb"))

for cookie in cookies:

driver.add_cookie(cookie)

Selenium WebDriver執行緒安全問題

專案中使用webdriver進行服務端渲染,解決seo的問題。但是最近上線的 多了之後,發現googlebot爬蟲同時爬幾個 的的時候,會有串資料的問題。上網搜了一下發現是webdriver不執行緒安全的 專案 中將webdriver宣告成了類成員變數,所以會有執行緒安全問題。於是將webdrive...

selenium webdriver工作原理

1 啟動瀏覽器,selenium webdriver會將目標瀏覽器繫結帶特定的埠,啟動後的瀏覽器則作為webdriver的remote server 服務端 2 客戶端 也就是測試指令碼 傳送http請求給server端。通訊協議 the webdriver wire protocol,在http請...

Selenium WebDriver驅動對照表

chrome 對於chrome瀏覽器,有時候會有閃退的情況,也許是版本衝突的問題,我們要對照著這個表來對照檢視是不是webdriver和chrome版本不對 chromedriver版本 支援的chrome版本 v2.37 v64 66 v2.36 v63 65 v2.35 v62 64 v2.34...