您好,登錄后才能下訂單哦!
這篇文章給大家介紹如何在Python中使用selenium,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
selenium是一個web自動化測試工具,selenium可以直接運行在瀏覽器上,可以接收指令,讓瀏覽器自動加載頁面,獲取需要的數據。
selenium的基本使用
1.導包
from selenium import webdriver
2.創建driver對象
webdriver.PhantomJS()
3.請求數據
driver.get("http://www.baidu.com")
4.查看網頁源碼
driver.page_source
5.關閉無界面瀏覽器
driver.quit()
6.根據id定位元素
drivrt.find_element_by_id("kw")
7.操作點擊事件
click()
8.給輸入框賦值
send_keys()
selenium的定位操作
定位元素語法:
find_element_by_id(返回一個元素)
find_elements_by_xpath(返回一個包含元素的列表)
find_elements_by_link_text(根據連接文本獲取元素列表)
find_elements_by_partial_link_text(根據鏈接包含的文本獲取元素列表)
find_elements_by_tag_name(根據標簽名獲取元素列表)
find_elements_bu_class_name(根據類名獲取元素列表)
注意
find_element和find_elements的區別:多了個s返回列表,沒有s的返回匹配到的第一個。
獲取數據
獲取文本:element.text
獲取屬性值:element.get_attribute("href")
selenium的其他方法
selenium處理cookie
driver.get_cookies()
,獲取的是完整的cookie信息,不光有name、value,還有domain等其他信息。
# 把cookie轉換為字典 cookies_dict = {cookie['name']: cookie['value'] for cookie in driver.get_cookies()} # 刪除一條cookie driver.delete_cookie("CookieName") # 刪除所有cookie driver.delete_all_cookies()
頁面等待
time.sleep(10)
selenium執行js代碼
driver.execute_script('js語句')
switch方法切換的操作
1.窗口切換
# 獲取當前所有的窗口 current_windows = driver.window_handles # 根據窗口索引進行切換 driver.switch_to.window(current_windows[1])
2.selenium默認訪問不了frame中的內容,對應解決的方法是driver.switch_to.frame()
3.處理頁面彈窗提示
driver.switch_to.alert()
頁面前進和后退
driver.forward() # 前進 driver.back(() # 后退
selenium的優缺點
優點:selenium能夠執行頁面上的js,對于js渲染的數據和模擬登陸處理起來較容易。
缺點:selenium由于在獲取頁面過程會發送很多請求,所以效率非常低。
關于如何在Python中使用selenium就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。