激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python爬蟲之Selenium下拉框處理的實現

Python爬蟲之Selenium下拉框處理的實現

2021-08-08 00:46程序猿雜記 Python

這篇文章主要介紹了Python爬蟲之Selenium下拉框處理的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

在我們瀏覽網頁的時候經常會碰到下拉框,WebDriver提供了Select類來處理下拉框,詳情請往下看:

本章中用到的關鍵方法如下:

  • select_by_value():設置下拉框的值
  • switch_to.alert.accept():定位并接受現有警告框(詳情請參考Python爬蟲 - Selenium(9)警告框(彈窗)處理)
  • click():鼠標點擊事件(其他鼠標事件請參考Python爬蟲 - Selenium(5)鼠標事件)
  • move_to_element():鼠標懸停(詳情請參考Python爬蟲 - Selenium(5)鼠標事件)
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.support.select import Select
import time
driver = webdriver.Chrome()
driver.get('http://www.baidu.com')
 
# 鼠標懸停至“設置”鏈接
link = driver.find_element_by_link_text('設置')
ActionChains(driver).move_to_element(link).perform()
time.sleep(2) #睡兩秒,看一下效果
 
# 打開搜索設置
driver.find_element_by_link_text("搜索設置").click()
time.sleep(2) #睡兩秒,看一下效果
 
# 搜索結果顯示條數
sel = driver.find_element_by_xpath("//select[@id='nr']")
Select(sel).select_by_value('50') # 顯示50條
time.sleep(2) #睡兩秒,看一下效果
 
# 保存設置
driver.find_element_by_class_name("prefpanelgo").click()
time.sleep(2) #睡兩秒,看一下效果
 
# 定位并接受現有警告框
alert = driver.switch_to.alert.accept()
time.sleep(2) #睡兩秒,看一下效果
 
driver.quit()

select類中的函數列表

 

函數 解析
options 返回select元素所有的options
all_selected_options 返回select元素中所有已選中的選項
first_selected_option 返回select元素中選中的第一個選項
select_by_index(index) 通過索引定位,index索引是從“0”開始
select_by_value(value) 通過value屬性值定位
select_by_visible_text(text)t 通過文本值定位,visible_text是在option標簽中間的值,即顯示在下拉框的值;
deselect_all() 取消全部的已選擇項
deselect_by_index(index) 取消已選中的索引項
deselect_by_value(value) 取消已選中的value值
deselect_by_visible_text(text) 取消已選中的文本值

 

舉例

html如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>我是標題</title>
</head>
<body>
<!--select標簽-->
<select name="city" size="5" multiple="multiple">
 <option value="1" tabindex="1">北京</option>
 <option value="2" tabindex="2" selected="selected">河南</option>
 <option value="3" tabindex="3">河北</option>
 <option value="4" tabindex="4">山東</option>
 <option value="5" tabindex="5">上海</option>
</select>
 
</body>
</html>

Python爬蟲之Selenium下拉框處理的實現

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from selenium import webdriver
from selenium.webdriver.support.select import Select
import time
 
driver = webdriver.Chrome(r"D:\browser\chromedriver\chromedriver.exe")
driver.get("http://localhost:63342/ui_test/select%E6%A0%87%E7%AD%BE.html")
 
driver.maximize_window()
 
ele = driver.find_element_by_name("city")
select = Select(ele)
select.select_by_value("3") # 選中"河北"
time.sleep(3)
select.select_by_index(0) # 選中"北京"
time.sleep(3)
select.deselect_by_value("3") # 取消選中"河北"
time.sleep(3)
select.deselect_by_index(0) # 取消選中"北京"
time.sleep(3)
driver.quit()

Selenium文集傳送門:

 

標題 簡介
Python爬蟲 - Selenium(1)安裝和簡單使用 詳細介紹Selenium的依賴環境在Windows和Centos7上的安裝及簡單使用
Python爬蟲 - Selenium(2)元素定位和WebDriver常用方法 詳細介紹定位元素的8種方式并配合點擊和輸入、提交、獲取斷言信息等方法的使用
Python爬蟲 - Selenium(3)控制瀏覽器的常用方法 詳細介紹自定義瀏覽器窗口大小或全屏、控制瀏覽器后退、前進、刷新瀏覽器等方法的使用
Python爬蟲 - Selenium(4)配置啟動項參數 詳細介紹Selenium啟動項參數的配置,其中包括無界面模式、瀏覽器窗口大小設置、瀏覽器User-Agent (請求頭)等等
Python爬蟲 - Selenium(5)鼠標事件 詳細介紹鼠標右擊、雙擊、拖動、鼠標懸停等方法的使用
Python爬蟲 - Selenium(6)鍵盤事件 詳細介紹鍵盤的操作,幾乎包含所有常用按鍵以及組合鍵
Python爬蟲 - Selenium(7)多窗口切換 詳細介紹Selenium是如何實現在不同的窗口之間自由切換
Python爬蟲 - Selenium(8)frame/iframe表單嵌套頁面 詳細介紹如何從當前定位的主體切換為frame/iframe表單的內嵌頁面中
Python爬蟲 - Selenium(9)警告框(彈窗)處理 詳細介紹如何定位并處理多類警告彈窗
Python爬蟲 - Selenium(10)下拉框處理 詳細介紹如何靈活的定位并處理下拉框
Python爬蟲 - Selenium(11)文件上傳 詳細介紹如何優雅的通過send_keys()指定文件進行上傳
Python爬蟲 - Selenium(12)獲取登錄Cookies,并添加Cookies自動登錄 詳細介紹如何獲取Cookies和使用Cookies進行自動登錄
Python爬蟲 - Selenium(13)設置元素等待 詳細介紹如何優雅的設置元素等待時間,防止程序運行過快而導致元素定位失敗
Python爬蟲 - Selenium(14)窗口截圖 詳細介紹如何使用窗口截圖
Python爬蟲 - Selenium(15)關閉瀏覽器 詳細介紹兩種關閉窗口的區別

 

到此這篇關于Python爬蟲之Selenium下拉框處理的實現的文章就介紹到這了,更多相關Selenium 下拉框內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/jamieblue1/article/details/90082819

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 成年免费大片黄在线观看岛国 | 91av久久 | 精品国产九九九 | 久久草在线视频免费 | 爱操影视| 国产三级午夜理伦三级 | 中文字幕专区高清在线观看 | 日韩一级毛毛片 | 国产免费一区 | 欧美一级黄视频 | 欧美一级爱操视频 | 日本精品视频一区二区三区四区 | 欧美成人一区免费视频 | 91精品国产网站 | 草莓视频在线导航 | 国产羞羞视频免费在线观看 | 8x成人在线电影 | 午夜天堂在线视频 | 一级免费a | 全免费午夜一级毛片真人 | 亚洲成人欧美 | 欧洲精品视频在线观看 | 欧美视频在线一区二区三区 | 日本xxxx色视频在线观看免费, | 成人一级黄色片 | 成人在线视频精品 | 久久精品com | 欧美日韩一区二区综合 | 成年人性视频 | 亚洲国产精品久久久久久久久久 | 国产精品www | 日韩电影av在线 | 国产成人在线播放视频 | 日本中文字幕网址 | 中国久久久 | 羞羞的视频在线免费观看 | 欧美精品成人一区二区三区四区 | 精品国产一区二区三区在线观看 | 最新福利在线 | 亚洲成人国产综合 | 亚洲精品一区二区三区在线看 |