日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

2万字带你攻略掉Selenium

發布時間:2025/3/15 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2万字带你攻略掉Selenium 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

1. 準備工作

1.1 安裝selenium庫

1.2 安裝瀏覽器驅動

2. 基本用法

2.1 初始化瀏覽器對象

2.2 訪問頁面

2.3 設置瀏覽器大小

2.4? 刷新頁面

2.5?前進后退

3. 獲取頁面基礎屬性

4. 定位頁面元素

4.1 id定位

4.2?name定位

4.3 class定位

4.4 tag定位

4.5 link定位

4.6?partial定位

4.7 xpath定位

4.8 css定位

4.9 find_element的By定位

4.10 多個元素

5. 獲取頁面元素屬性?

5.1 get_attribute獲取屬性

5.2 獲取文本

5.3 獲取其他屬性

6. 頁面交互操作?

6.1 輸入文本

6.2 點擊

6.3 清除文本

6.4 回車確認

6.5 單選

6.6 多選

5.7. 下拉框

7. 多窗口切換

7.1 Frame切換

7.2 選項卡切換

8. 模擬鼠標操作?

8.1 左鍵

8.2 右鍵

8.3 雙擊

8.4 拖拽

8.5 懸停

9. 模擬鍵盤操作

10. 延時等待

10.1 強制等待

10.2 隱式等待

9.3. 顯式等待

11. 其他

11.1. 運行JavaScript

11.2. Cookie

11.3. 反屏蔽


1. 準備工作

在開始后續功能演示之前,我們需要先安裝Chrome瀏覽器并配置好ChromeDriver,當然也需要安裝selenium庫!

1.1 安裝selenium庫

pip install selenium

1.2 安裝瀏覽器驅動

其實,有兩種方式安裝瀏覽器驅動:一種是常見的手動安裝,另一種則是利用第三方庫自動安裝。

以下前提:大家都已經安裝好了Chrome瀏覽器哈

手動安裝

自動安裝:

自動安裝需要用到第三方庫webdriver_manager,先安裝這個庫:

pip install webdriver_manager

然后調用下列方法進行自動安裝。

from?selenium?import?webdriver from?selenium.webdriver.common.keys?import?Keys from?webdriver_manager.chrome?import?ChromeDriverManagerbrowser?=?webdriver.Chrome(ChromeDriverManager().install())browser.get('http://www.baidu.com') search?=?browser.find_element_by_id('kw') search.send_keys('python') search.send_keys(Keys.ENTER)#?關閉瀏覽器 browser.close()

在上述代碼中,ChromeDriverManager().install()方法就是自動安裝驅動的操作,它會自動獲取當前瀏覽器的版本并去下載對應的驅動到本地。

====== WebDriver manager ====== Current google-chrome version is 96.0.4664 Get LATEST chromedriver version for 96.0.4664 google-chrome There is no [win32] chromedriver for browser in cache Trying to download new driver from https://chromedriver.storage.googleapis.com/96.0.4664.45/chromedriver_win32.zip Driver has been saved in cache[C:\Users\z2577\.wdm\drivers\chromedriver\win32\96.0.4664.45]

如果本地已經有該瀏覽器渠道,則會提示其已存在。

======?WebDriver?manager?====== Current?google-chrome?version?is?96.0.4664 Get?LATEST?driver?version?for?96.0.4664 Driver?[C:\Users\z2577\.wdm\drivers\chromedriver\win32\96.0.4664.45\chromedriver.exe]?found?in?cache

搞定以上準備工作,我們就可以開始本文正式內容的學習啦~

2. 基本用法

首先我們就從初始化瀏覽器對象、訪問頁面、設置瀏覽器大小、刷新頁面和前進后退等基礎操作。

2.1 初始化瀏覽器對象

在準備工作部分我們提到需要將瀏覽器渠道添加到環境變量或者指定絕對路徑,前者可以直接初始化后者則需要進行指定。

添加環境變量就不多加介紹了,上面手動安裝那里有介紹

接下來,我們介紹一下,指定路徑吧

from selenium import webdriver# 初始化瀏覽器為chrome瀏覽器 browser = webdriver.Chrome()# 指定絕對路徑的方式 path = r'C:\Users\z2577\.wdm\drivers\chromedriver\win32\96.0.4664.45\chromedriver.exe' browser = webdriver.Chrome(path)# 關閉瀏覽器 browser.close()

?返回:

?可以看到以上是有界面的瀏覽器,我們還可以初始化瀏覽器為無界面的瀏覽器

接下來我們訪問下 百度 試試

from selenium import webdriver# 無界面的瀏覽器 chrome_options = webdriver.ChromeOptions() chrome_options.add_argument("headless") browser = webdriver.Chrome(chrome_options = option)# 訪問百度首頁 browser.get(r'https://www.baidu.com/') # 截圖預覽 browser.get_screenshot_as_file('截圖.png')# 關閉瀏覽器 browser.close()

返回截圖:

完成瀏覽器對象的初始化后并將其賦值給了browser對象,接下來我們就可以調用browser來執行各種方法模擬瀏覽器的操作了。

2.2 訪問頁面

進行頁面訪問使用的是get方法,傳入參數為待訪問頁面的URL地址即可。

from selenium import webdriver# 初始化瀏覽器為chrome瀏覽器 browser = webdriver.Chrome()# 訪問百度首頁 browser.get(r'https://www.baidu.com/')# 關閉瀏覽器 # browser.close()

返回:

2.3 設置瀏覽器大小

set_window_size()方法可以用來設置瀏覽器大小(就是分辨率),而?maximize_window?則是設置瀏覽器為全屏

from selenium import webdriver import time browser = webdriver.Chrome()# 設置瀏覽器大小:全屏 browser.maximize_window() browser.get(r'https://www.baidu.com') time.sleep(2)# 設置分辨率 500*500 browser.set_window_size(500,500) time.sleep(2)# 設置分辨率 1000*800 browser.set_window_size(1000,800) time.sleep(2)# 關閉瀏覽器 browser.close()

運行后,頁面首先是全屏,然后慢慢變小,最后關閉,在這里就不進行截圖了,如果你不想瀏覽器自動關閉的話,將最后一行關閉瀏覽器代碼進行注釋即可。

2.4? 刷新頁面

刷新頁面是我們在瀏覽器操作時很常用的操作,這里?refresh()方法可以用來進行瀏覽器頁面刷新。

from selenium import webdriver import time browser = webdriver.Chrome()# 設置瀏覽器全屏 browser.maximize_window() browser.get(r'https://www.baidu.com') time.sleep(2)try:# 刷新頁面browser.refresh() print('刷新頁面成功') except Exception as e:print('刷新失敗')# 關閉瀏覽器 browser.close()

運行效果和 F5 一樣,也不在這里進行截圖了,如果你不想瀏覽器自動關閉的話,將最后一行關閉瀏覽器代碼進行注釋即可。

2.5?前進后退

前進后退也是我們在使用瀏覽器時非常常見的操作,這里forward()方法可以用來實現前進back()可以用來實現后退

我這在這里通過進入 百度 和 淘寶 頁面進行演示:

from selenium import webdriver import time browser = webdriver.Chrome()# 設置瀏覽器全屏 browser.maximize_window() browser.get(r'https://www.baidu.com') time.sleep(2)# 打開淘寶頁面 browser.get(r'https://www.taobao.com') time.sleep(2)# 后退到百度頁面 browser.back() time.sleep(2)# 前進的淘寶頁面 browser.forward() time.sleep(2)# 關閉瀏覽器 browser.close()

具體效果請自行進行吧,如果你不想瀏覽器自動關閉的話,將最后一行關閉瀏覽器代碼進行注釋即可。

3. 獲取頁面基礎屬性

當我們用?selenium?打開某個頁面,有一些基礎屬性如網頁標題、網址、瀏覽器名稱、頁面源碼等信息。

from selenium import webdriverbrowser = webdriver.Chrome() browser.get(r'https://www.baidu.com') # 網頁標題 print(browser.title) # 當前網址 print(browser.current_url) # 瀏覽器名稱 print(browser.name) # 網頁源碼 print(browser.page_source)

返回:

我們得到頁面源碼后,可以用正則表達式、Bs4、xpath以及pyquery等工具進行解析提取想要的信息了。

4. 定位頁面元素

我們在實際使用瀏覽器的時候,很重要的操作有輸入文本、點擊確定等等。對此,Selenium提供了一系列的方法來方便我們實現以上操作。常說的8種定位頁面元素的操作方式,我們一一演示一下!

我們以百度首頁的搜索框節點為例,搜索python

搜索框的html結構

<input id="kw" name="wd" class="s_ipt" value="" maxlength="255" autocomplete="off">

4.1 id定位

find_element_by_id()根據id屬性獲取,這里id屬性是?kw

from selenium import webdriver import time browser = webdriver.Chrome()browser.get(r'https://www.baidu.com') time.sleep(2)# 在搜索框輸入 python browser.find_element_by_id('kw').send_keys('python') time.sleep(2)# 關閉瀏覽器 browser.close()

返回:

4.2?name定位

find_element_by_name()根據name屬性獲取,這里name屬性是?wd

from selenium import webdriver import time browser = webdriver.Chrome()browser.get(r'https://www.baidu.com') time.sleep(2)# 在搜索框輸入 python browser.find_element_by_name('wd').send_keys('python') time.sleep(2)# 關閉瀏覽器 browser.close()

返回結果同上?

4.3 class定位

find_element_by_class_name()根據class屬性獲取,這里class屬性是s_ipt

from selenium import webdriver import time browser = webdriver.Chrome()browser.get(r'https://www.baidu.com') time.sleep(2)# 在搜索框輸入 python browser.find_element_by_class_name('s_ipt').send_keys('python') time.sleep(2)# 關閉瀏覽器 browser.close()

?返回結果同上?

4.4 tag定位

我們知道HTML是通過tag來定義功能的,比如input是輸入,table是表格等等。每個元素其實就是一個tag,一個tag往往用來定義一類功能,我們查看百度首頁的html代碼,可以看到有很多同類tag,所以其實很難通過tag去區分不同的元素。

find_element_by_tag_name()

from selenium import webdriver import time browser = webdriver.Chrome()browser.get(r'https://www.baidu.com') time.sleep(2)# 在搜索框輸入 python browser.find_element_by_tag_name('input').send_keys('python') time.sleep(2)# 關閉瀏覽器 browser.close()

返回:

結果中報錯了,因為存在多個input

4.5 link定位

這種方法顧名思義就是用來定位文本鏈接的,比如百度首頁上方的分類模塊鏈接

find_element_by_link_text()?

以新聞為例

我們可以通過下面代碼實現:

from selenium import webdriver import time browser = webdriver.Chrome()browser.get(r'https://www.baidu.com') time.sleep(2)# 點擊新聞 鏈接 browser.find_element_by_link_text('新聞').click() time.sleep(2)# 關閉瀏覽器全部頁面 browser.quit()

返回:

4.6?partial定位

有時候一個超鏈接的文本很長,我們如果全部輸入,既麻煩,又顯得代碼很不美觀,這時候我們就可以只截取一部分字符串,用這種方法模糊匹配了。

find_element_by_partial_link_text()

from selenium import webdriver import time browser = webdriver.Chrome()browser.get(r'https://www.baidu.com') time.sleep(2)# 點擊新聞 鏈接 browser.find_element_by_partial_link_text('聞').click() time.sleep(2)# 關閉瀏覽器全部頁面 browser.quit()

在這里單號結果同時,因為帶”聞“字的只有一個

4.7 xpath定位

前面介紹的幾種定位方法都是在理想狀態下,有一定使用范圍的,那就是:在當前頁面中,每個元素都有一個唯一的id或name或class或超鏈接文本的屬性,那么我們就可以通過這個唯一的屬性值來定位他們。

但是在實際工作中并非有這么美好,那么這個時候我們就只能通過xpath或者css來定位了。

find_element_by_xpath()

from selenium import webdriver import time browser = webdriver.Chrome()browser.get(r'https://www.baidu.com') time.sleep(2)# 在搜索框輸入 python browser.find_element_by_xpath("//*[@id='kw']").send_keys('python') time.sleep(2)# 關閉瀏覽器 browser.close()

4.8 css定位

這種方法相對xpath要簡潔些,定位速度也要快些。

find_element_by_css_selector()

from selenium import webdriver import time browser = webdriver.Chrome()browser.get(r'https://www.baidu.com') time.sleep(2)# 在搜索框輸入 python browser.find_element_by_css_selector('#kw').send_keys('python') time.sleep(2)# 關閉瀏覽器 browser.close()

4.9 find_element的By定位

除了上述的8種定位方法,Selenium還提供了一個通用的方法find_element(),這個方法有兩個參數:定位方式和定位值

使用前先導入By類:

# 使用前先導入By類 from selenium.webdriver.common.by import By

下面8種方法對應上面的8種:

browser.find_element(By.ID,'kw') browser.find_element(By.NAME,'wd') browser.find_element(By.CLASS_NAME,'s_ipt') browser.find_element(By.TAG_NAME,'input') browser.find_element(By.LINK_TEXT,'新聞') browser.find_element(By.PARTIAL_LINK_TEXT,'聞') browser.find_element(By.XPATH,'//*[@id="kw"]') browser.find_element(By.CSS_SELECTOR,'#kw')

4.10 多個元素

如果定位的目標元素在網頁中不止一個,那么則需要用到find_elements,得到的結果會是列表形式。簡單來說,就是element后面多了復數標識s,其他操作一致。

5. 獲取頁面元素屬性?

既然我們有很多方式來定位頁面的元素,那么接下來就可以考慮獲取以下元素的屬性了,尤其是用Selenium進行網絡爬蟲的時候。

5.1 get_attribute獲取屬性

以百度首頁的logo為例,獲取logo相關屬性

<img hidefocus="true" id="s_lg_img" class="index-logo-src" src="//www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png" width="270" height="129" onerror="this.src='//www.baidu.com/img/flexible/logo/pc/index.png';this.onerror=null;" usemap="#mp">

獲取logo的圖片地址:

from selenium import webdriver import time browser = webdriver.Chrome()browser.get(r'https://www.baidu.com') logo = browser.find_element_by_class_name('index-logo-src') print(logo) print(logo.get_attribute('src'))# 關閉瀏覽器 browser.close()

返回:

5.2 獲取文本

?以熱榜為例,獲取熱榜文本和鏈接:

<a class="title-content tag-width c-link c-font-medium c-line-clamp1" href="https://www.baidu.com/s?cl=3&amp;tn=baidutop10&amp;fr=top1000&amp;wd=%E5%85%9A%E5%8E%86%E5%8F%B2%E8%87%AA%E4%BF%A1%E7%9A%84%E6%9C%80%E5%A4%A7%E5%BA%95%E6%B0%94&amp;rsv_idx=2&amp;rsv_dl=fyb_n_homepage&amp;sa=fyb_n_homepage&amp;hisfilter=1" target="_blank"><span class="title-content-index c-index-single c-index-single-hot1">1</span><span class="title-content-title">黨歷史自信的最大底氣</span></a>

?獲取熱榜的文本,用的是text屬性,直接調用即可

from selenium import webdriver import time browser = webdriver.Chrome()browser.get(r'https://www.baidu.com') logo = browser.find_element_by_css_selector('#hotsearch-content-wrapper > li:nth-child(1) > a') print(logo.text) print(logo.get_attribute('href'))# 關閉瀏覽器 browser.close()

返回:

5.3 獲取其他屬性

除了屬性和文本值外,還有id、位置、標簽名和大小等屬性。

from selenium import webdriver import time browser = webdriver.Chrome()browser.get(r'https://www.baidu.com') logo = browser.find_element_by_class_name('index-logo-src') print(logo.id) print(logo.location) print(logo.tag_name) print(logo.size)# 關閉瀏覽器 browser.close()

返回:

6. 頁面交互操作?

頁面交互就是在瀏覽器的各種操作,比如上面演示過的輸入文本、點擊鏈接等等,還有像清除文本、回車確認、單選框與多選框選中等。

6.1 輸入文本

其實,在之前的小節中我們有用過此操作。

send_keys()

from selenium import webdriver import time browser = webdriver.Chrome() browser.get(r'https://www.baidu.com') time.sleep(2)# 定位搜索框 input = browser.find_element_by_class_name('s_ipt') # 輸入python input.send_keys('python') time.sleep(2)# 關閉瀏覽器 browser.close()

6.2 點擊

同樣,我們也用過這個點擊操作。

click()

from selenium import webdriver import time browser = webdriver.Chrome() browser.get(r'https://www.baidu.com') time.sleep(2)# 選中新聞按鈕 click = browser.find_element_by_link_text('新聞') # 點擊之 click.click() time.sleep(2)# 關閉瀏覽器全部頁面 browser.quit()

6.3 清除文本

既然有輸入,這里也就有清除文本啦。

clear()

from selenium import webdriver import time browser = webdriver.Chrome() browser.get(r'https://www.baidu.com') time.sleep(2)# 定位搜索框 input = browser.find_element_by_class_name('s_ipt') # 輸入python input.send_keys('python') time.sleep(2) # 清除文本python input.clear() time.sleep(2)# 關閉瀏覽器 browser.close()

6.4 回車確認

比如,在搜索框輸入文本python,然后回車就出查詢操作結果的情況。

submit()

6.5 單選

單選比較好操作,先定位需要單選的某個元素,然后點擊一下即可。

6.6 多選

多選好像也比較容易,依次定位需要選擇的元素,點擊即可。

5.7. 下拉框

下拉框的操作相對復雜一些,需要用到Select模塊

先導入該類

from?selenium.webdriver.support.select?import?Select

在select模塊中有以下定位方法

'''1、三種選擇某一選項項的方法'''select_by_index() # 通過索引定位;注意:index索引是從“0”開始。 select_by_value() # 通過value值定位,value標簽的屬性值。 select_by_visible_text() # 通過文本值定位,即顯示在下拉框的值。'''2、三種返回options信息的方法'''options # 返回select元素所有的options all_selected_options # 返回select元素中所有已選中的選項 first_selected_options # 返回select元素中選中的第一個選項 '''3、四種取消選中項的方法'''deselect_all # 取消全部的已選擇項 deselect_by_index # 取消已選中的索引項 deselect_by_value # 取消已選中的value值 deselect_by_visible_text # 取消已選中的文本值

?我們來進行演示一波,由于暫時沒找到合適的網頁,我這邊寫了一個簡單的網頁本地測試(文件存為 二狗.html)

<html><body><form> <select name="帥哥"> <option value="才哥">才哥</option> <option value="小明" selected="">小明</option> <option value="小華">小華</option> <option value="草兒">小草</option> </select> </form></body> </html>

然后,再演示下拉框的不同選擇的方式

from selenium import webdriver from selenium.webdriver.support.select import Select import timeurl = 'file://D:\桌面/二狗.html'browser = webdriver.Chrome()browser.get(url) time.sleep(2)# 根據索引選擇 Select(browser.find_element_by_name("帥哥")).select_by_index("2") time.sleep(2) # 根據value值選擇 Select(browser.find_element_by_name("帥哥")).select_by_value("草兒") time.sleep(2) # 根據文本值選擇 Select(browser.find_element_by_name("帥哥")).select_by_visible_text("才哥") time.sleep(2)# 關閉瀏覽器 browser.close()

具體效果就不在這里演示了

7. 多窗口切換

比如同一個頁面的不同子頁面的節點元素獲取操作,不同選項卡之間的切換以及不同瀏覽器窗口之間的切換操作等等。

7.1 Frame切換

Selenium打開一個頁面之后,默認是在父頁面進行操作,此時如果這個頁面還有子頁面,想要獲取子頁面的節點元素信息則需要切換到子頁面進行擦走,這時候?switch_to.frame()就來了。如果想回到父頁面,用?switch_to.parent_frame()即可。

7.2 選項卡切換

我們在訪問網頁的時候會打開很多個頁面,在Selenium中提供了一些方法方便我們對這些頁面進行操作。

current_window_handle:獲取當前窗口的句柄。

window_handles:返回當前瀏覽器的所有窗口的句柄。

switch_to_window():用于切換到對應的窗口。

from?selenium?import?webdriver import?timebrowser?=?webdriver.Chrome()#?打開百度 browser.get('http://www.baidu.com') #?新建一個選項卡 browser.execute_script('window.open()') print(browser.window_handles) #?跳轉到第二個選項卡并打開知乎 browser.switch_to.window(browser.window_handles[1]) browser.get('http://www.zhihu.com') #?回到第一個選項卡并打開淘寶(原來的百度頁面改為了淘寶) time.sleep(2) browser.switch_to.window(browser.window_handles[0]) browser.get('http://www.taobao.com')

8. 模擬鼠標操作?

既然是模擬瀏覽器操作,自然也就需要能模擬鼠標的一些操作了,這里需要導入ActionChains?類。

from?selenium.webdriver.common.action_chains?import?ActionChains

8.1 左鍵

這個其實就是頁面交互操作中的點擊click()操作。

8.2 右鍵

context_click()

from?selenium.webdriver.common.action_chains?import?ActionChains from?selenium?import?webdriver import?time??browser?=?webdriver.Chrome() browser.get(r'https://www.baidu.com')?? time.sleep(2)#?定位到要右擊的元素,這里選的新聞鏈接 right_click?=?browser.find_element_by_link_text('新聞')#?執行鼠標右鍵操作 ActionChains(browser).context_click(right_click).perform() time.sleep(2)#?關閉瀏覽器 browser.close()

在上述操作中

ActionChains(browser):調用ActionChains()類,并將瀏覽器驅動browser作為參數傳入

context_click(right_click):模擬鼠標雙擊,需要傳入指定元素定位作為參數

perform():執行ActionChains()中儲存的所有操作,可以看做是執行之前一系列的操作

8.3 雙擊

double_click()

from?selenium.webdriver.common.action_chains?import?ActionChains from?selenium?import?webdriver import?time??browser?=?webdriver.Chrome() browser.get(r'https://www.baidu.com')?? time.sleep(2)#?定位到要雙擊的元素 double_click?=?browser.find_element_by_css_selector('#bottom_layer?>?div?>?p:nth-child(8)?>?span')#?雙擊 ActionChains(browser).double_click(double_click).perform() time.sleep(15)#?關閉瀏覽器 browser.close()

8.4 拖拽

drag_and_drop(source,target)拖拽操作嘛,開始位置和結束位置需要被指定,這個常用于滑塊類驗證碼的操作之類。

我們以菜鳥教程的一個案例來進行演示

菜鳥教程在線編輯器

from?selenium.webdriver.common.action_chains?import?ActionChains from?selenium?import?webdriver import?time??browser?=?webdriver.Chrome() url?=?'https://www.runoob.com/try/try.php?filename=jqueryui-api-droppable' browser.get(url)?? time.sleep(2)browser.switch_to.frame('iframeResult')#?開始位置 source?=?browser.find_element_by_css_selector("#draggable")#?結束位置 target?=?browser.find_element_by_css_selector("#droppable")#?執行元素的拖放操作 actions?=?ActionChains(browser) actions.drag_and_drop(source,?target) actions.perform() #?拖拽 time.sleep(15)#?關閉瀏覽器 browser.close()

?返回:

8.5 懸停

move_to_element()

from?selenium.webdriver.common.action_chains?import?ActionChains from?selenium?import?webdriver import?time??browser?=?webdriver.Chrome() url?=?'https://www.baidu.com' browser.get(url)?? time.sleep(2)#?定位懸停的位置 move?=?browser.find_element_by_css_selector("#form?>?span.bg.s_ipt_wr.new-pmd.quickdelete-wrap?>?span.soutu-btn")#?懸停操作 ActionChains(browser).move_to_element(move).perform() time.sleep(5)#?關閉瀏覽器 browser.close()

返回懸停效果:

9. 模擬鍵盤操作

selenium中的Keys()類提供了大部分的鍵盤操作方法,通過send_keys()方法來模擬鍵盤上的按鍵。

引入Keys類

from?selenium.webdriver.common.keys?import?Keys

常見的鍵盤操作

send_keys(Keys.BACK_SPACE):刪除鍵(BackSpace)

send_keys(Keys.SPACE):空格鍵(Space)

send_keys(Keys.TAB):制表鍵(TAB)

send_keys(Keys.ESCAPE):回退鍵(ESCAPE)

send_keys(Keys.ENTER):回車鍵(ENTER)

send_keys(Keys.CONTRL,'a'):全選(Ctrl+A)

send_keys(Keys.CONTRL,'c'):復制(Ctrl+C)

send_keys(Keys.CONTRL,'x'):剪切(Ctrl+X)

send_keys(Keys.CONTRL,'v'):粘貼(Ctrl+V)

send_keys(Keys.F1):鍵盤F1

.....

send_keys(Keys.F12):鍵盤F12

實例操作演示

定位需要操作的元素,然后操作即可!

from?selenium.webdriver.common.keys?import?Keys from?selenium?import?webdriver import?timebrowser?=?webdriver.Chrome() url?=?'https://www.baidu.com' browser.get(url)?? time.sleep(2)#?定位搜索框 input?=?browser.find_element_by_class_name('s_ipt') #?輸入python input.send_keys('python') time.sleep(2)#?回車 input.send_keys(Keys.ENTER) time.sleep(5)#?關閉瀏覽器 browser.close()

10. 延時等待

如果遇到使用ajax加載的網頁,頁面元素可能不是同時加載出來的,這個時候嘗試在get方法執行完成時獲取網頁源代碼可能并非瀏覽器完全加載完成的頁面。所以,這種情況下需要設置延時等待一定時間,確保全部節點都加載出來。

三種方式可以來玩玩:強制等待、隱式等待和顯式等待

10.1 強制等待

就很簡單了,直接time.sleep(n)強制等待n秒,在執行get方法之后執行。

10.2 隱式等待

implicitly_wait()設置等待時間,如果到時間有元素節點沒有加載出來,就會拋出異常。

from?selenium?import?webdriverbrowser?=?webdriver.Chrome()#?隱式等待,等待時間10秒 browser.implicitly_wait(10)??browser.get('https://www.baidu.com') print(browser.current_url) print(browser.title)#?關閉瀏覽器 browser.close()

9.3. 顯式等待

設置一個等待時間和一個條件,在規定時間內,每隔一段時間查看下條件是否成立,如果成立那么程序就繼續執行,否則就拋出一個超時異常。

from selenium import webdriver from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.by import By import timebrowser = webdriver.Chrome() browser.get('https://www.baidu.com') # 設置等待時間10s wait = WebDriverWait(browser, 10) # 設置判斷條件:等待id='kw'的元素加載完成 input = wait.until(EC.presence_of_element_located((By.ID, 'kw'))) # 在關鍵詞輸入:關鍵詞 input.send_keys('Python')# 關閉瀏覽器 time.sleep(2) browser.close()

WebDriverWait的參數說明

WebDriverWait(driver,timeout,poll_frequency=0.5,ignored_exceptions=None)

driver: 瀏覽器驅動

timeout: 超時時間,等待的最長時間(同時要考慮隱性等待時間)

poll_frequency: 每次檢測的間隔時間,默認是0.5秒

ignored_exceptions:超時后的異常信息,默認情況下拋出NoSuchElementException異常

until(method,message='')

method: 在等待期間,每隔一段時間調用這個傳入的方法,直到返回值不是False

message: 如果超時,拋出TimeoutException,將message傳入異常

until_not(method,message='')

until_not?與until相反,until是當某元素出現或什么條件成立則繼續執行,until_not是當某元素消失或什么條件不成立則繼續執行,參數也相同。

其他等待條件

from selenium.webdriver.support import expected_conditions as EC# 判斷標題是否和預期的一致 title_is # 判斷標題中是否包含預期的字符串 title_contains# 判斷指定元素是否加載出來 presence_of_element_located # 判斷所有元素是否加載完成 presence_of_all_elements_located# 判斷某個元素是否可見. 可見代表元素非隱藏,并且元素的寬和高都不等于0,傳入參數是元組類型的locator visibility_of_element_located # 判斷元素是否可見,傳入參數是定位后的元素WebElement visibility_of # 判斷某個元素是否不可見,或是否不存在于DOM樹 invisibility_of_element_located# 判斷元素的 text 是否包含預期字符串 text_to_be_present_in_element # 判斷元素的 value 是否包含預期字符串 text_to_be_present_in_element_value#判斷frame是否可切入,可傳入locator元組或者直接傳入定位方式:id、name、index或WebElement frame_to_be_available_and_switch_to_it#判斷是否有alert出現 alert_is_present#判斷元素是否可點擊 element_to_be_clickable# 判斷元素是否被選中,一般用在下拉列表,傳入WebElement對象 element_to_be_selected # 判斷元素是否被選中 element_located_to_be_selected # 判斷元素的選中狀態是否和預期一致,傳入參數:定位后的元素,相等返回True,否則返回False element_selection_state_to_be # 判斷元素的選中狀態是否和預期一致,傳入參數:元素的定位,相等返回True,否則返回False element_located_selection_state_to_be#判斷一個元素是否仍在DOM中,傳入WebElement對象,可以判斷頁面是否刷新了 staleness_of

11. 其他

補充一些

11.1. 運行JavaScript

還有一些操作,比如下拉進度條,模擬javaScript,使用execute_script方法來實現。

from?selenium?import?webdriverbrowser?=?webdriver.Chrome() #?知乎發現頁 browser.get('https://www.zhihu.com/explore')browser.execute_script('window.scrollTo(0,?document.body.scrollHeight)') browser.execute_script('alert("To?Bottom")')

返回:

?

11.2. Cookie

在selenium使用過程中,還可以很方便對Cookie進行獲取、添加與刪除等操作。

from?selenium?import?webdriverbrowser?=?webdriver.Chrome() #?知乎發現頁 browser.get('https://www.zhihu.com/explore') #?獲取cookie print(f'Cookies的值:{browser.get_cookies()}') #?添加cookie browser.add_cookie({'name':'才哥',?'value':'帥哥'}) print(f'添加后Cookies的值:{browser.get_cookies()}') #?刪除cookie browser.delete_all_cookies() print(f'刪除后Cookies的值:{browser.get_cookies()}')

?返回:

11.3. 反屏蔽

例如,美團直接把Selenium給屏蔽了,不知道怎么搞!!

總結

以上是生活随笔為你收集整理的2万字带你攻略掉Selenium的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

国产在线看一区 | 超碰在线98 | 女人18毛片90分钟 | 在线观看完整版 | 久久人人做 | 在线观看精品黄av片免费 | 又黄又网站 | 久久久久久久久久久成人 | 91久久爱热色涩涩 | 亚洲精品乱码久久久久v最新版 | 探花视频免费观看高清视频 | 激情黄色一级片 | 精品国产一区二区三区久久久蜜臀 | 国产九九在线 | 一级欧美日韩 | 国产视频精选在线 | 亚洲综合色站 | 亚欧日韩成人h片 | 在线黄色免费 | 亚洲成人资源网 | 色99导航| 国产精品久免费的黄网站 | 中文字幕av电影下载 | 国产一区高清在线观看 | 日本精a在线观看 | 久久人人爽人人 | 欧美va日韩va| 人人躁 | 免费成人在线视频网站 | 天天拍天天爽 | 天天插狠狠插 | a色视频 | 亚洲精品女 | 中文字幕视频一区二区 | 天天躁日日躁狠狠 | 狠狠躁日日躁夜夜躁av | 天天操夜夜逼 | 中文字幕资源在线 | 午夜视频在线观看网站 | 国产999在线观看 | 日日操日日插 | a黄色一级| 狠狠躁夜夜躁人人爽超碰91 | 亚洲1区在线 | www婷婷| 久久精品观看 | 国产精品久久久久久久久毛片 | 亚洲激精日韩激精欧美精品 | 久久久久久久久久久久久久电影 | 综合久久婷婷 | 亚洲美女在线国产 | 97夜夜澡人人双人人人喊 | 亚洲爱爱视频 | 91精品在线免费观看视频 | 久久国产亚洲精品 | 手机成人在线电影 | 亚洲激精日韩激精欧美精品 | 欧美性另类 | 久久久久综合精品福利啪啪 | 国产黄影院色大全免费 | 国产亚洲视频在线观看 | 日韩毛片精品 | 丁香视频 | www.成人sex| 国产精品毛片一区视频 | 国产69久久精品成人看 | 免费黄色av.| 中文字幕av全部资源www中文字幕在线观看 | 日日草天天草 | 日本高清久久久 | 69av视频在线观看 | 国产色小视频 | 日韩亚洲欧美中文字幕 | 91视频亚洲| www.av免费 | 日韩av黄| 欧美激情第十页 | 波多野结衣视频一区二区三区 | 97视频免费看 | 精品特级毛片 | 日韩精品电影在线播放 | 色偷偷男人的天堂av | 天天久久夜夜 | 中文字幕免费观看全部电影 | 国产91免费在线观看 | 91av蜜桃| 久草在线最新 | 五月婷婷综合在线视频 | 中文字幕第一页在线 | 人人澡澡人人 | 五月婷婷六月丁香在线观看 | 欧美激情视频免费看 | 成人亚洲综合 | 日韩在线不卡av | 中文资源在线观看 | 日韩在线免费高清视频 | 久久国产精品99精国产 | 久精品在线 | 欧美日韩一区三区 | 久久久久久国产一区二区三区 | 久草新在线 | 午夜精品一区二区三区可下载 | 亚洲激精日韩激精欧美精品 | 黄色a在线| 69av久久 | 成人av一级片 | 97网| 免费看污黄网站 | 五月婷婷六月丁香在线观看 | 免费成人短视频 | 九九精品视频在线 | 婷婷色狠狠 | 天天精品视频 | 丝袜+亚洲+另类+欧美+变态 | 亚洲三级在线免费观看 | 国产精品一区二区中文字幕 | 亚洲综合成人专区片 | 96亚洲精品久久久蜜桃 | 日韩视频免费播放 | 亚洲成av人影院 | 天天曰天天射 | 88av网站 | 亚洲欧美国产精品va在线观看 | 高清av中文字幕 | av在线电影网站 | 久久大片 | av中文天堂 | 91女神的呻吟细腰翘臀美女 | 在线观看视频免费大全 | 欧美日韩高清在线观看 | 久久久国产99久久国产一 | 干狠狠| 韩国视频一区二区三区 | 在线观看中文字幕一区二区 | 一级性av | 久久久久综合视频 | 五月婷丁香网 | 在线观看av小说 | 欧美日韩亚洲精品在线 | 99成人精品 | 日日草视频 | v片在线看| 久久在线免费 | 国模一二三区 | 亚洲精选视频免费看 | 色999在线 | 97超碰影视 | 99精品乱码国产在线观看 | 在线观看视频福利 | 国产视频在线观看一区 | 日韩电影一区二区在线观看 | 天天天干天天射天天天操 | 91一区二区三区在线观看 | 午夜色大片在线观看 | 午夜影院一级片 | 久热这里有精品 | 国产精品国内免费一区二区三区 | 日韩成人免费观看 | 日韩一区视频在线 | 在线观看免费高清视频大全追剧 | 久久久av电影 | 免费情缘| 在线日韩中文字幕 | 久久y| 成人亚洲精品国产www | 激情电影影院 | 欧美日韩调教 | 国产手机免费视频 | 国产一区久久 | 日韩在线免费视频 | 丁香国产视频 | 在线观看国产www | 成av人电影 | 欧美va天堂va视频va在线 | 精品国产自在精品国产精野外直播 | 国产一卡久久电影永久 | 国产免费高清视频 | 99在线精品视频在线观看 | 久久久亚洲电影 | 亚洲国产精品一区二区久久hs | 精品女同一区二区三区在线观看 | 久久视频在线 | 激情视频一区二区三区 | 播五月综合 | 国内久久久久久 | 国产精品美女免费视频 | 中文字幕在线观看完整 | 国色天香第二季 | 午夜精品99久久免费 | 日韩性xxxx| 色婷在线 | 亚洲va欧美va国产va黑人 | 六月婷婷久香在线视频 | 在线 影视 一区 | 在线观看久久 | 日韩二区三区在线 | 综合色影院 | 欧美精品亚洲精品日韩精品 | www.久久com | 不卡国产在线 | 欧美午夜激情网 | 日本激情中文字幕 | 欧美色伊人| 日日躁夜夜躁aaaaxxxx | 99r精品视频在线观看 | 涩涩资源网| 久久精品国产亚洲精品 | 色婷婷国产在线 | 色网站免费在线看 | 欧美日韩视频一区二区三区 | 白丝av免费观看 | 国产成人精品在线播放 | av免费看av | 99久久精品免费看国产麻豆 | 夜夜躁狠狠燥 | 国产成人福利在线 | 日韩手机在线观看 | 成人黄色大片在线观看 | 精品福利视频在线观看 | 在线观看精品视频 | 亚洲国产免费av | 久艹视频在线观看 | 在线精品国产 | 亚洲另类人人澡 | 在线免费观看视频一区二区三区 | 精品在线观 | 日本精品一区二区三区在线观看 | 国产色拍 | 亚洲一区欧美精品 | 久草在线资源观看 | 中文国产在线观看 | 五月婷婷激情网 | 人操人| 黄色国产高清 | 香蕉视频91| 最新高清无码专区 | 国产精品久久久久久久久久了 | 成人一区二区三区中文字幕 | 波多野结衣一区三区 | 久久免费大片 | 激情综合网色播五月 | 久久久久免费精品国产 | 香蕉影视在线观看 | 欧美a级免费视频 | 久久看看| 日本xxxx裸体xxxx17 | 国产黄色精品网站 | 国产精品成人av久久 | 蜜臀av性久久久久av蜜臀妖精 | 久久久久久久久网站 | www.com.日本一级 | 免费看v片网站 | 色婷婷天天干 | 久草在线免费看视频 | 在线看免费 | 国产精品一区一区三区 | 人人涩 | 亚洲精品国产精品国 | 国产日韩精品一区二区三区 | 午夜国产一区二区 | 久久精品xxx| 丁香六月激情婷婷 | 国产亚洲一区二区在线观看 | 久久精品影视 | 亚洲人天堂 | 激情丁香综合五月 | 人人爱人人爽 | 日本精品中文字幕在线观看 | 亚洲片在线资源 | 免费在线精品视频 | 婷婷五天天在线视频 | 久久欧美综合 | 日韩在线激情 | 2019中文最近的2019中文在线 | 免费男女羞羞的视频网站中文字幕 | 国产精品美女www爽爽爽视频 | 亚洲天天干 | 亚洲精品国偷拍自产在线观看 | 中文字幕欲求不满 | 久草男人天堂 | 韩日精品视频 | 韩国av电影在线观看 | 久久电影中文字幕视频 | 欧美日韩精品在线观看 | 天天综合天天做天天综合 | 国产三级香港三韩国三级 | 亚洲人成人99网站 | 精品福利视频在线观看 | 国产一级二级在线播放 | 国产高清av免费在线观看 | 久久a国产 | 日本在线观看一区二区三区 | 国产91免费看 | 国产成人中文字幕 | 成年人视频在线免费观看 | 国产一级做a| 91免费视频黄 | 成人免费影院 | 色婷婷精品 | 在线观看视频在线 | 久久婷婷网 | 91看片网址| 欧美日韩在线视频免费 | 深爱激情开心 | 免费av在线网 | 久久少妇免费视频 | 日韩影视大全 | 免费观看黄色12片一级视频 | 色偷偷人人澡久久超碰69 | 最新黄色av网址 | 人人舔人人爱 | 午夜精品成人一区二区三区 | 91麻豆精品国产91久久久更新时间 | 能在线看的av | 色资源二区在线视频 | 亚洲欧美日本A∨在线观看 青青河边草观看完整版高清 | 91激情| 日本中文字幕在线一区 | 国产精品视频地址 | 日韩中文在线视频 | 天天se天天cao天天干 | 国产又粗又长又硬免费视频 | 国产午夜精品免费一区二区三区视频 | 久久久亚洲麻豆日韩精品一区三区 | 日韩电影在线观看一区 | 欧美日韩中文字幕在线视频 | 一级欧美黄 | 国产精品一区二区三区免费视频 | 亚洲三级av | 超碰在线日本 | 国产男女爽爽爽免费视频 | 欧美精品久久人人躁人人爽 | 日本久久免费视频 | 午夜视频在线观看一区二区三区 | 色999视频 | 国产伦理一区二区 | 欧美激情精品久久久久久变态 | 婷婷国产在线观看 | 精品视频免费播放 | 日韩精品中文字幕久久臀 | 女人久久久久 | av在线官网 | 四虎影视精品成人 | 日韩 国产 | 久久视频99 | 色99在线| 视频精品一区二区三区 | 又色又爽又激情的59视频 | 色婷婷久久 | 久久精品79国产精品 | 一区二区三区四区五区六区 | 日韩视频一区二区三区 | 国产最新在线视频 | 国产视频日韩视频欧美视频 | 国产高清专区 | 国内精品视频在线播放 | 国产亚洲成av人片在线观看桃 | 久草资源在线观看 | 国产又粗又猛又黄又爽视频 | 日韩三级在线观看 | www.看片网站 | 欧美日韩视频在线一区 | 97香蕉久久国产在线观看 | 亚洲国产偷| 日韩系列 | 亚洲精品国偷拍自产在线观看 | 中文字幕亚洲欧美日韩2019 | 91在线蜜桃臀 | 黄色影院在线观看 | 国产美腿白丝袜足在线av | 国产操在线 | 丁香婷婷激情国产高清秒播 | 中文国产字幕 | 日本少妇视频 | 91在线91| 国产精品久久久久久一区二区 | 在线观看亚洲成人 | 欧美精品xx | 一区二区三区在线电影 | 中文字幕一区二区三区久久蜜桃 | 97视频在线免费播放 | 欧美一级片免费播放 | 婷婷综合国产 | 天天干天天操天天爱 | 中文字幕国产一区二区 | 热久久免费视频精品 | 亚洲精品视频在线观看视频 | 在线观看视频一区二区 | 黄色大全视频 | 黄色一级大片免费看 | 日韩欧美一区二区三区在线 | 少妇bbr搡bbb搡bbb | 国产精品成人久久 | avcom在线 | 免费视频一区 | 婷婷丁香视频 | 日韩欧美高清一区二区三区 | 天天综合狠狠精品 | 91精品国产麻豆国产自产影视 | 日本中文字幕在线免费观看 | 国产中文欧美日韩在线 | 五月婷网站 | 国产原创在线 | av网站在线免费观看 | 亚洲日本va午夜在线电影 | 永久免费精品视频 | 亚洲 欧美 变态 国产 另类 | 国产不卡视频 | 一级黄色片在线免费观看 | 欧美特一级片 | 99热手机在线 | 亚洲视频在线看 | 91视频国产免费 | 免费福利片2019潦草影视午夜 | 又色又爽的网站 | 久久精品网站免费观看 | 婷婷激情在线 | 欧美日韩不卡在线视频 | 婷婷丁香六月 | 黄色特级一级片 | 日韩视频三区 | 日韩av片无码一区二区不卡电影 | 欧美日韩三级 | 亚洲久草网 | 三级av在线| 东方av免费在线观看 | 亚洲专区免费观看 | 美女一二三区 | 精品在线看 | 亚洲精品456在线播放第一页 | 521色香蕉网站在线观看 | 99精品久久久久 | 久草在线视频免费资源观看 | a午夜电影 | 最近最新中文字幕 | 久草视频首页 | 亚洲不卡av一区二区三区 | 99久久夜色精品国产亚洲 | 综合黄色网 | 黄色国产高清 | 日韩欧美在线观看一区二区 | 天天艹天天 | 久草在线资源免费 | 婷婷草 | 亚洲一级片在线看 | 国产视频手机在线 | 国产精品成人免费精品自在线观看 | 91色偷偷 | 亚洲免费av在线播放 | 日韩欧美高清在线观看 | 久久96| 久久97精品| 狠狠狠狠狠狠 | 久久99精品久久久久久秒播蜜臀 | 日韩av进入 | 久久99久久99免费视频 | 久久精品国产一区二区 | 一区二区久久 | 人人射人人射 | 在线观看www. | 午夜 久久 tv | 在线黄色国产电影 | 91片黄在线观看动漫 | 在线观看视频97 | 欧美久久电影 | 久久视频网 | 日本免费久久高清视频 | 五月天婷婷视频 | 成人h视频在线 | 免费看的国产视频网站 | 精品国产aⅴ一区二区三区 在线直播av | 日韩欧美精品一区 | 2022国产精品视频 | 91中文字幕一区 | 人人爽网站 | 黄色精品在线看 | 麻豆免费在线播放 | 91成人在线视频观看 | 国产精品扒开做爽爽的视频 | www.国产毛片| 亚洲色影爱久久精品 | 午夜精品久久久久久久99水蜜桃 | 91久久偷偷做嫩草影院 | 国产精品久久网 | 又爽又黄又无遮挡网站动态图 | 国产成在线观看免费视频 | 国产精品麻豆91 | 欧美夫妻性生活电影 | 欧美日韩xx| 激情欧美一区二区三区免费看 | 国产成人精品一区二三区 | 亚洲v欧美v国产v在线观看 | 91视频在线自拍 | 久久艹99| 黄网站免费久久 | 麻花豆传媒mv在线观看 | 人人爱在线视频 | 美女网站久久 | 国产麻豆果冻传媒在线观看 | 岛国大片免费视频 | 久久电影国产免费久久电影 | 激情网色| 亚洲最大在线视频 | 啪一啪在线 | 综合激情av| 日韩av资源站 | 天堂va在线高清一区 | 日韩免费一区二区在线观看 | 天天射,天天干 | 99免在线观看免费视频高清 | 欧美激情精品久久久久久免费印度 | 日韩午夜电影网 | 国产精品久久久久久久7电影 | 亚洲精品久久久久中文字幕二区 | 在线你懂 | 最近日本中文字幕 | 亚洲特级毛片 | 97色资源| 久久久午夜精品福利内容 | 一区av在线播放 | 日韩在线免费高清视频 | av福利在线播放 | 国产理论一区二区三区 | 免费色视频网站 | 黄色成人av | 97在线观看免费观看高清 | 久久久久免费精品视频 | 三级a视频| 免费看一级特黄a大片 | 久草精品视频在线观看 | 久久精品综合一区 | 日本在线观看一区 | 麻豆精品视频 | 中文字幕在线免费 | 久久婷婷视频 | 久久毛片高清国产 | 久久精品这里都是精品 | 国产录像在线观看 | 国产精品美女在线观看 | 免费日韩一区二区三区 | 成人黄色电影免费观看 | 综合久久一本 | 国产日韩欧美在线一区 | 国产麻豆精品久久 | 激情文学综合丁香 | 免费日韩电影 | 在线观看精品视频 | 久久国产精品久久久 | 国产不卡视频 | 国产日韩精品一区二区三区 | 国产一在线精品一区在线观看 | 亚洲我射av| 亚洲精品久久久久中文字幕二区 | 一级电影免费在线观看 | 少妇超碰在线 | 狠狠色丁香久久婷婷综合_中 | 午夜视频在线观看欧美 | 69av在线视频 | 国产精品 亚洲精品 | 欧美成人理伦片 | 亚洲激情电影在线 | 欧美一级片免费播放 | 亚洲资源视频 | 国产精品 国内视频 | 欧美一级片免费播放 | 日本久久视频 | 亚洲欧洲精品一区 | 青青草在久久免费久久免费 | 中日韩三级视频 | 一区二区视频网站 | 成人性生爱a∨ | 夜色在线资源 | 国产玖玖精品视频 | 国产手机视频在线 | 韩国av永久免费 | 又粗又长又大又爽又黄少妇毛片 | 99热手机在线观看 | 国内精品在线观看视频 | 天天做天天干 | 国产亚洲人成网站在线观看 | 欧美久久久久久久久久久久 | 奇米影音四色 | 九九热免费视频在线观看 | 天天综合导航 | 欧美极度另类 | 精品日韩在线 | 日本精品中文字幕在线观看 | 天天操网站 | 国产一级电影免费观看 | 亚洲成人免费 | 草久在线视频 | 亚洲第一区精品 | 最新av电影网址 | 在线免费观看国产 | 国产伦精品一区二区三区无广告 | 911精品美国片911久久久 | av成人免费网站 | 麻豆视频91| 奇米网在线观看 | 九九久| 婷婷婷国产在线视频 | 玖玖在线资源 | 99re6热在线精品视频 | 91成人精品观看 | 狠狠网站 | 综合天天网 | 国产福利精品在线观看 | 午夜视频在线观看欧美 | 国产亚洲高清视频 | 激情大尺度视频 | 五月婷影院 | www.亚洲视频.com | 欧美久久久久久久久久 | 国产精品男女啪啪 | 国产婷婷 | 99看视频在线观看 | 中文有码在线视频 | 亚洲精品在线观看av | 国产精品黄色av | 免费成人短视频 | 99精品视频播放 | 中文字幕综合在线 | 国产精品美女毛片真酒店 | 亚洲综合视频在线播放 | 久久亚洲欧美 | 国产高清网站 | 天天干中文字幕 | 蜜桃传媒一区二区 | 丁香免费视频 | 久久夜色精品国产欧美乱 | 2019精品手机国产品在线 | 亚洲成人软件 | 国产精品爽爽久久久久久蜜臀 | 五月婷婷另类国产 | 四虎成人精品 | 在线免费中文字幕 | 久久久久久免费 | 日本最新高清不卡中文字幕 | 97免费中文视频在线观看 | 国产一区二区精品在线 | 久久精品99视频 | 一区二区三区av在线 | 丁香色综合 | 婷婷免费视频 | 91tv国产成人福利 | 日韩精品久久久久久久电影竹菊 | 91福利区一区二区三区 | 丁香九月激情 | 6080yy精品一区二区三区 | 综合久久久久久 | 91久久国产露脸精品国产闺蜜 | 最新av观看 | 91九色老| 久久99亚洲精品久久 | 精品久久久久久亚洲综合网站 | 九九九九免费视频 | 一区二区三区四区精品视频 | 99精品成人 | 日韩欧美一区二区三区视频 | 丁香婷婷色综合亚洲电影 | 69久久久 | 欧美日韩视频精品 | 69精品人人人人 | 国产美女黄网站免费 | 999久久久精品视频 日韩高清www | 亚洲视频在线免费观看 | 天天碰天天操视频 | 久久精品久久久精品美女 | 三级视频国产 | 国产亚洲免费的视频看 | 日本精品视频免费观看 | 日韩乱理 | 国产福利精品在线观看 | 水蜜桃亚洲一二三四在线 | 91大神免费视频 | 香蕉视频久久久 | 国内三级在线观看 | 综合网婷婷 | 国产一二区在线观看 | av在线免费观看网站 | 在线视频第一页 | 黄色av一级片| 欧美一二三区在线观看 | 五月天综合网站 | 国产亚洲人 | 成年人天堂com | 婷婷综合影院 | av网址最新 | 天天操天天摸天天射 | 在线视频在线观看 | 成人黄色在线电影 | 蜜臀av网址 | 婷婷新五月 | 国产高清av免费在线观看 | 国产字幕在线播放 | 久久精品国产亚洲 | 久久久影视 | 蜜桃视频日本 | www.国产视频 | 免费不卡中文字幕视频 | 欧美黄色软件 | 国产美女精品视频免费观看 | 国产69久久久欧美一级 | 日韩在线一区二区免费 | 九九久久婷婷 | 天天干天天操天天射 | 国产精品xxxx18a99 | 欧美色图88 | 伊人午夜 | 亚洲蜜桃在线 | 午夜视频免费播放 | 少妇bbbb搡bbbb桶 | 日韩大片在线观看 | 国产精品一区二区三区在线播放 | 国产剧情一区二区 | 午夜精品福利一区二区 | 国产在线观看免费观看 | 亚洲特级毛片 | 性色av香蕉一区二区 | 一区二区免费不卡在线 | av电影免费看 | 欧美特一级片 | 日本久久久久久科技有限公司 | 日本在线中文 | 久久精品亚洲国产 | 美女网站在线 | 亚欧洲精品视频在线观看 | 91高清免费观看 | 丁香花在线视频观看免费 | 成人av网址大全 | 国产成人61精品免费看片 | 国产精品99久久久久久久久久久久 | 久久福利电影 | 免费看一级一片 | 亚洲黄在线观看 | 亚洲h色精品| 久久久免费网站 | 日韩av快播电影网 | 99麻豆视频| 超碰97.com| 国产综合福利在线 | 亚洲激情在线观看 | 亚洲小视频在线观看 | 国产成人性色生活片 | 99久久婷婷国产综合亚洲 | av免费线看 | 97国产大学生情侣白嫩酒店 | 国产精品1区2区3区 久久免费视频7 | 99色在线视频| 一区二区三区在线不卡 | 国产精品高清在线观看 | 亚州天堂 | 国产日韩中文在线 | 亚洲精品美女视频 | 中文亚洲欧美日韩 | 黄色软件在线看 | 日韩成人看片 | 91成人精品一区在线播放69 | av看片网| 日韩久久激情 | 国产一级大片在线观看 | 亚洲精品午夜aaa久久久 | 国内精品视频在线 | 日本久久久精品视频 | 国产尤物视频在线 | 国产在线91精品 | 91麻豆国产福利在线观看 | 亚洲综合激情网 | 中文字幕黄色网址 | 丁香六月天 | 免费在线观看不卡av | 伊人婷婷| 国产午夜精品一区二区三区 | 欧美日韩啪啪 | av在线永久免费观看 | 人人看人人做人人澡 | 黄色成年 | 免费观看国产精品视频 | 亚洲精品中文字幕在线 | 91男人影院| 久香蕉 | 在线播放日韩av | 偷拍福利视频一区二区三区 | 99中文在线| 国产精品乱码高清在线看 | 美女免费视频一区 | 国产九色91 | 亚洲视频久久久 | 国产二区视频在线 | 色久天| 久久毛片网 | 一二三精品视频 | 久久久www成人免费精品 | 天天操天天爽天天干 | 精品一区在线看 | 在线观看的av | 久久精品国产一区二区电影 | 99精品国产99久久久久久福利 | 波多野结衣在线观看视频 | 99精品欧美一区二区三区 | 在线观看的a站 | 在线之家免费在线观看电影 | 97成人精品视频在线播放 | 美女久久久久久久久久久 | 91中文字幕在线播放 | 久久国产精品成人免费浪潮 | 久久一区二 | 国产系列 在线观看 | 色婷婷亚洲精品 | 久久综合电影 | 超碰av在线| 丁香电影小说免费视频观看 | 欧美色婷| 91视频-88av | 久99久中文字幕在线 | 精品久久综合 | 久久国产三级 | 日韩欧美高清视频在线观看 | 在线免费观看国产 | 亚洲精品乱码久久久久久 | 国产精品久久久久久久久久不蜜月 | 99re中文字幕 | 免费的国产精品 | 日韩高清不卡一区二区三区 | 欧美成天堂网地址 | 麻豆视频在线免费 | 久久99精品视频 | 久久综合九色九九 | 天天综合天天综合 | av丝袜制服 | 99精品黄色片免费大全 | 香蕉视频网站在线观看 | 91完整视频| 亚洲精品国精品久久99热一 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 日韩特级毛片 | 99久久精品国产一区二区成人 | 精品产品国产在线不卡 | 福利视频导航网址 | 国产黄色免费电影 | 亚洲91在线| 国产96av | 久久综合狠狠综合久久综合88 | 男女啪啪免费网站 | 国产福利一区二区三区在线观看 | 国产精品久久久久一区二区 | 欧美日韩91| a在线播放 | 国产精品一区免费看8c0m | 日本公妇色中文字幕 | 国产精品九九视频 | 中文字幕一区二区三区在线视频 | 久久久九色精品国产一区二区三区 | 国产在线国偷精品产拍免费yy | 国产又黄又猛又粗 | 丁香六月五月婷婷 | 久久精品国产精品 | 久久99精品久久久久久久久久久久 | 91九色网址 | 五月婷婷六月丁香 | 日韩最新在线视频 | 中文av影院 | 在线岛国av | 日韩综合一区二区三区 | 99国产成+人+综合+亚洲 欧美 | 天天曰天天爽 | 亚洲精品啊啊啊 | 日韩电影在线一区 | 成人91视频| 亚洲国产午夜精品 | 成人在线观看免费 | 中文字幕精品一区二区精品 | 激情视频一区二区三区 | 国产精品 视频 | 丁香九月激情 | 97在线观看免费观看 | 黄色软件在线观看视频 | 天天干天天摸天天操 | 麻豆传媒电影在线观看 | 狠狠干.com | 久久综合精品国产一区二区三区 | 操操日日 | 国产精品系列在线播放 | 日韩精品免费一线在线观看 | 日韩欧美精品一区二区三区经典 | 免费大片黄在线 | 免费高清在线观看成人 | 免费福利在线视频 | 免费av的网站 | 在线国产欧美 | 正在播放五月婷婷狠狠干 | 中文字幕成人一区 | 亚洲免费公开视频 | 欧美一级电影免费观看 | 一区二区三区视频在线 | 日韩电影在线观看一区二区三区 | av一级片在线观看 | 日韩在线视频看看 | 国产亚洲精品久 | 一区免费观看 | 夜夜夜夜夜夜操 | 亚洲精品男人天堂 | 日韩激情视频在线观看 | 国产欧美精品在线观看 | 国产精品久久久久久久久久99 | 午夜精品久久久久久99热明星 | 国产精品美女久久久久久久网站 | 在线观看中文字幕亚洲 | 午夜美女视频 | 97看片吧 | 日韩天天操 | 69夜色精品国产69乱 | 久久久免费国产 | 少妇bbb | 成人动漫视频在线 | 最近乱久中文字幕 | 久久久久久久久久久高潮一区二区 | 伊人黄 | 2022久久国产露脸精品国产 | 国产一级特黄毛片在线毛片 | 国产区网址| 日本bbbb摸bbbb| 成人免费视频a | 国产一区二区三区黄 | 亚洲男男gⅴgay双龙 | 一区二区三区高清在线 | 人人澡人人草 | 久草网视频在线观看 | 97精品国产97久久久久久春色 | 欧美在线观看小视频 | aa级黄色大片 | 久草在线视频首页 | 亚洲 综合 精品 | 福利精品在线 | 美女又爽又黄 | 亚洲久草网 | 五月天丁香 | 国产婷婷久久 | 国产视频首页 | 在线观看亚洲视频 | 久久这里只有精品视频首页 | 99精品在线直播 | 日日日网 | 久久久精华网 | 国产a视频免费观看 | 日韩中文字幕a | 精品视频在线视频 | 超碰av在线 | www.黄色在线 | 日韩欧美亚洲 | 亚洲午夜久久久久久久久久久 | 日韩中字在线观看 | 久久视频在线观看中文字幕 | 久久视频6 | 欧美日韩另类在线观看 | 国产黄色在线看 | 青青久草在线 | 精品视频专区 | 深爱婷婷网| 婷婷免费在线视频 | 人人干在线 | 最新av观看| 精品免费观看 | 久久久午夜电影 | 国产又黄又爽又猛视频日本 | 黄色一级动作片 | 91丨九色丨首页 | 97在线超碰 | 天堂在线一区二区三区 | 一区二区三区在线看 | 天天av资源| 射射色| 婷婷激情综合五月天 | 成人午夜网址 | 青青河边草观看完整版高清 | 日韩成人邪恶影片 | 综合伊人久久 | 一区二区男女 | 国产视频亚洲视频 | 精品久久久久久国产偷窥 | 亚洲国产99| 日韩中文在线播放 | 精品99在线 | 亚洲精品视频网址 | 99久久精品国产亚洲 | 国产香蕉97碰碰久久人人 | 在线播放精品一区二区三区 | 色噜噜在线观看视频 | 国产精品欧美日韩在线观看 | 免费网站黄 | 国产最新福利 | 黄色日视频 | 国产乱对白刺激视频在线观看女王 | 亚洲黄色av一区 | 91国内在线视频 | 三级黄色片子 | 亚洲一区二区天堂 | 日韩免费观看av |