久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

Python Selenium庫的基本使用教程

瀏覽:142日期:2022-06-30 14:17:04
(一)Selenium基礎

入門教程:Selenium官網教程

1.Selenium簡介

Selenium是一個用于測試網站的自動化測試工具,支持各種瀏覽器包括Chrome、Firefox、Safari等主流界面瀏覽器,同時也支持phantomJS無界面瀏覽器。

2.支持多種操作系統

如Windows、Linux、IOS、Android等。

3.安裝Selenium

pip install Selenium4.安裝瀏覽器驅動

Selenium3.x調用瀏覽器必須有一個webdriver驅動文件

Chrome驅動文件下載:點擊下載chromedrive

Firefox驅動文件下載:點擊下載geckodriver

5.配置環境變量

設置瀏覽器的地址非常簡單。 我們可以手動創建一個存放瀏覽器驅動的目錄,如: F:GeckoDriver , 將下載的瀏覽器驅動文件(例如:chromedriver、geckodriver)丟到該目錄下。

我的電腦?>屬性?>系統設置?>高級?>環境變量?>系統變量?>Path,將“F:GeckoDriver”目錄添加到Path的值中。比如:Path字段;F:GeckoDriver

參考瀏覽器驅動環境配置

(二)Selenium 快速入門

入門參考文獻:Selenium入門

1.Selenium提供了8種定位方式: id name class name tag name link text partial link text xpath css selector 2.定位元素的8種方式

參考:selenium元素定位

定位一個元素 定位多個元素 含義 find_element_by_id find_elements_by_id 通過元素id定位 find_element_by_name find_elements_by_name 通過元素name定位 find_element_by_xpath find_elements_by_xpath 通過xpath表達式定位 find_element_by_link_text find_elements_by_link_tex 通過完整超鏈接定位 find_element_by_partial_link_text find_elements_by_partial_link_text 通過部分鏈接定位 find_element_by_tag_name find_elements_by_tag_name 通過標簽定位 find_element_by_class_name find_elements_by_class_name 通過類名進行定位 find_elements_by_css_selector find_elements_by_css_selector 通過css選擇器進行定位 3.實例演示

假如我們有一個Web頁面,通過前端工具(如,Firebug)查看到一個元素的屬性是這樣的。

<html> <head> <body link='#0000cc'> <a href='http://www.gepszalag.com/' rel='external nofollow' onmousedown='return c({’fm’:’tab’,’tab’:’logo’})'> <form name='f' action='/s'> <span ></span> <input name='wd' value='' maxlength='255' autocomplete='off'>

通過id定位:

dr.find_element_by_id('kw')

通過name定位:

dr.find_element_by_name('wd')

通過class name定位:

dr.find_element_by_class_name('s_ipt')

通過tag name定位:

dr.find_element_by_tag_name('input')

通過xpath定位,xpath定位有N種寫法,這里列幾個常用寫法:

dr.find_element_by_xpath('//*[@]')dr.find_element_by_xpath('//*[@name=’wd’]')dr.find_element_by_xpath('//input[@]')dr.find_element_by_xpath('/html/body/form/span/input')dr.find_element_by_xpath('//span[@]/input')dr.find_element_by_xpath('//form[@]/span/input')dr.find_element_by_xpath('//input[@ and @name=’wd’]')

通過css定位,css定位有N種寫法,這里列幾個常用寫法:

dr.find_element_by_css_selector('#kw')dr.find_element_by_css_selector('[name=wd]')dr.find_element_by_css_selector('.s_ipt')dr.find_element_by_css_selector('html > body > form > span > input')dr.find_element_by_css_selector('span.soutu-btn> input#kw')dr.find_element_by_css_selector('form#form > span > input')

接下來,我們的頁面上有一組文本鏈接。

<a rel='external nofollow' name='tj_trnews'>新聞</a><a rel='external nofollow' name='tj_trhao123'>hao123</a>

通過link text定位:

dr.find_element_by_link_text('新聞')dr.find_element_by_link_text('hao123')

通過partial link text定位:

dr.find_element_by_partial_link_text('新')dr.find_element_by_partial_link_text('hao')dr.find_element_by_partial_link_text('123')4.Selenium庫下webdriver模塊常用方法的使用

1.控制瀏覽器操作的一些方法

方法 說明 set_window_size() 設置瀏覽器的大小 back() 控制瀏覽器后退 forward() 控制瀏覽器前進 refresh() 刷新當前頁面 clear() 清除文本 send_keys (value) 模擬按鍵輸入 click() 單擊元素 submit() 用于提交表單 get_attribute(name) 獲取元素屬性值 is_displayed() 設置該元素是否用戶可見 size 返回元素的尺寸 text 獲取元素的文本

實例演示

from selenium import webdriverfrom time import sleep#1.創建Chrome瀏覽器對象,這會在電腦上在打開一個瀏覽器窗口browser = webdriver.Firefox(executable_path ='F:GeckoDrivergeckodriver')#2.通過瀏覽器向服務器發送URL請求browser.get('https://www.baidu.com/')sleep(3)#3.刷新瀏覽器browser.refresh()#4.設置瀏覽器的大小browser.set_window_size(1400,800)#5.設置鏈接內容element=browser.find_element_by_link_text('新聞')element.click()element=browser.find_element_by_link_text('“下團組”時間')element.click()

2.鼠標事件

在 WebDriver 中, 將這些關于鼠標操作的方法封裝在 ActionChains 類提供。

方法 說明 ActionChains(driver) 構造ActionChains對象 context_click() 執行鼠標懸停操作 move_to_element(above) 右擊 double_click() 雙擊 drag_and_drop() 拖動 move_to_element(above) 執行鼠標懸停操作 context_click() 用于模擬鼠標右鍵操作, 在調用時需要指定元素定位 perform() 執行所有 ActionChains 中存儲的行為,可以理解成是對整個操作的提交動作

實例演示

Python Selenium庫的基本使用教程

from selenium import webdriver#1.引入 ActionChains 類from selenium.webdriver.common.action_chains import ActionChains#1.創建Chrome瀏覽器對象,這會在電腦上在打開一個瀏覽器窗口driver = webdriver.Firefox(executable_path ='F:GeckoDrivergeckodriver')driver.get('https://www.baidu.com')#2.定位到要懸停的元素element= driver.find_element_by_link_text('設置')#3.對定位到的元素執行鼠標懸停操作ActionChains(driver).move_to_element(element).perform()#找到鏈接elem1=driver.find_element_by_link_text('搜索設置')elem1.click()#通過元素選擇器找到id=sh_2,并點擊設置elem2=driver.find_element_by_id('sh_1')elem2.click()#保存設置elem3=driver.find_element_by_class_name('prefpanelgo')elem3.click()

3.鍵盤事件

Selenium中的Key模塊為我們提供了模擬鍵盤按鍵的方法,那就是send_keys()方法。它不僅可以模擬鍵盤輸入,也可以模擬鍵盤的操作。

常用的鍵盤操作如下:

模擬鍵盤按鍵 說明 send_keys(Keys.BACK_SPACE) 刪除鍵(BackSpace) send_keys(Keys.SPACE) 空格鍵(Space) send_keys(Keys.TAB) 制表鍵(Tab) send_keys(Keys.ESCAPE) 回退鍵(Esc) send_keys(Keys.ENTER) 回車鍵(Enter)

組合鍵的使用

模擬鍵盤按鍵 說明 send_keys(Keys.CONTROL,‘a’) 全選(Ctrl+A) send_keys(Keys.CONTROL,‘c’) 復制(Ctrl+C) send_keys(Keys.CONTROL,‘x’) 剪切(Ctrl+X) send_keys(Keys.CONTROL,‘v’) 粘貼(Ctrl+V) send_keys(Keys.F1…Fn) 鍵盤 F1…Fn

4.獲取斷言信息

不管是在做功能測試還是自動化測試,最后一步需要拿實際結果與預期進行比較。這個比較的稱之為斷言。通過我們獲取title 、URL和text等信息進行斷言。

屬性 說明 title 用于獲得當前頁面的標題 current_url 用戶獲得當前頁面的URL text 獲取搜索條目的文本信息

實例演示

from selenium import webdriverfrom time import sleepdriver = webdriver.Firefox(executable_path ='F:GeckoDrivergeckodriver')driver.get('https://www.baidu.com')print(’Before search================’)# 打印當前頁面titletitle = driver.titleprint(title)# 打印當前頁面URLnow_url = driver.current_urlprint(now_url)driver.find_element_by_id('kw').send_keys('selenium')driver.find_element_by_id('su').click()sleep(1)print(’After search================’)# 再次打印當前頁面titletitle = driver.titleprint(title)# 打印當前頁面URLnow_url = driver.current_urlprint(now_url)# 獲取結果數目user = driver.find_element_by_class_name(’nums’).textprint(user)#關閉所有窗口driver.quit()

打印輸出結果

Before search================百度一下,你就知道https://www.baidu.com/After search================selenium_百度搜索https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=0&rsv_idx=1&tn=baidu&wd=selenium&rsv_pq=a1d51b980000e36e&rsv_t=a715IZaMpLd1w92I4LNUi7gKuOdlAz5McsHe%2FSLQeBZD44OUIPnjY%2B7pODM&rqlang=cn&rsv_enter=0&rsv_sug3=8&inputT=758&rsv_sug4=759搜索工具百度為您找到相關結果約7,170,000個

5.設置元素等待:參考文獻

6.定位一組元素

定位一組元素的方法與定位單個元素的方法類似,唯一的區別是在單詞element后面多了一個s表示復數。

實例演示

from selenium import webdriverfrom time import sleepdriver =webdriver.Firefox(executable_path ='F:GeckoDrivergeckodriver')driver.get('https://www.baidu.com')driver.find_element_by_id('kw').send_keys('selenium')driver.find_element_by_id('su').click()sleep(1)#1.定位一組元素elements = driver.find_elements_by_xpath(’//div/h3/a’)print(type(elements))#2.循環遍歷出每一條搜索結果的標題for t in elements: print(t.text) element=driver.find_element_by_link_text(t.text) element.click() sleep(3)driver.quit()

7.多表單切換

在Web應用中經常會遇到frame/iframe表單嵌套頁面的應用,WebDriver只能在一個頁面上對元素識別與定位,對于frame/iframe表單內嵌頁面上的元素無法直接定位。這時就需要通過switch_to.frame()方法將當前定位的主體切換為frame/iframe表單的內嵌頁面中。

方法 說明 switch_to.frame() 將當前定位的主體切換為frame/iframe表單的內嵌頁面中 switch_to.default_content() 跳回最外層的頁面

<html> <body> ... <iframe ...> <html> <body> ... <input name='email' >

126郵箱登錄框的結構大概是這樣子的,想要操作登錄框必須要先切換到iframe表單。

from selenium import webdriverdriver = webdriver.Chrome()driver.get('http://www.126.com')driver.switch_to.frame(’x-URS-iframe’)driver.find_element_by_name('email').clear()driver.find_element_by_name('email').send_keys('username')driver.find_element_by_name('password').clear()driver.find_element_by_name('password').send_keys('password')driver.find_element_by_id('dologin').click()driver.switch_to.default_content()driver.quit()

switch_to.frame() 默認可以直接取表單的id 或name屬性。如果iframe沒有可用的id和name屬性,則可以通過下面的方式進行定位。

……#先通過xpth定位到iframexf = driver.find_element_by_xpath(’//*[@]’)#再將定位對象傳給switch_to.frame()方法driver.switch_to.frame(xf)……driver.switch_to.parent_frame()

8.多窗口切換

在頁面操作過程中有時候點擊某個鏈接會彈出新的窗口,這時就需要主機切換到新打開的窗口上進行操作。WebDriver提供了switch_to.window()方法,可以實現在不同的窗口之間切換。

方法 說明 current_window_handle 獲得當前窗口句柄 window_handles 返回所有窗口的句柄到當前會話 switch_to.window() 用于切換到相應的窗口,與上一節的switch_to.frame()類似,前者用于不同窗口的切換,后者用于不同表單之間的切換。

switch_to.window() 用于切換到相應的窗口,與上一節的switch_to.frame()類似,前者用于不同窗口的切換,后者用于不同表單之間的切換。

實例演示

from selenium import webdriverimport timedriver = webdriver.Chrome('F:ChromeChromeDriverchromedriver')driver.implicitly_wait(10)driver.get('http://www.baidu.com')#1.獲得百度搜索窗口句柄sreach_windows = driver.current_window_handledriver.find_element_by_link_text(’登錄’).click()driver.find_element_by_link_text('立即注冊').click()#1.獲得當前所有打開的窗口的句柄all_handles = driver.window_handles#3.進入注冊窗口for handle in all_handles: if handle != sreach_windows: driver.switch_to.window(handle) print(’跳轉到注冊窗口’) driver.find_element_by_name('account').send_keys(’123456789’) driver.find_element_by_name(’password’).send_keys(’123456789’) time.sleep(2) driver.quit()

9.警告框處理

在WebDriver中處理JavaScript所生成的alert、confirm以及prompt十分簡單,具體做法是使用 switch_to.alert 方法定位到 alert/confirm/prompt,然后使用text/accept/dismiss/ send_keys等方法進行操作。

方法 說明 text 返回 alert/confirm/prompt 中的文字信息 accept() 接受現有警告框 dismiss() 解散現有警告框 send_keys(keysToSend) 發送文本至警告框。keysToSend:將文本發送至警告框。

實例演示

from selenium import webdriverfrom selenium.webdriver.common.action_chains import ActionChainsimport timedriver = webdriver.Chrome('F:ChromeChromeDriverchromedriver')driver.implicitly_wait(10)driver.get(’http://www.baidu.com’)# 鼠標懸停至“設置”鏈接link = driver.find_element_by_link_text(’設置’)ActionChains(driver).move_to_element(link).perform()# 打開搜索設置driver.find_element_by_link_text('搜索設置').click()#在此處設置等待2s否則可能報錯time.sleep(2)# 保存設置driver.find_element_by_class_name('prefpanelgo').click()time.sleep(2)# 接受警告框driver.switch_to.alert.accept()driver.quit()

10.下拉框選擇操作

導入選擇下拉框Select類,使用該類處理下拉框操作。

from selenium.webdriver.support.select import Select

Select類的方法

方法 說明 select_by_value(“選擇值”) select標簽的value屬性的值 select_by_index(“索引值”) 下拉框的索引 select_by_visible_testx(“文本值”) 下拉框的文本值

有時我們會碰到下拉框,WebDriver提供了Select類來處理下拉框。 如百度搜索設置的下拉框,如下圖:[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-7WUxrkEj-1571973999629)(http://orru5lls3.bkt.clouddn.com/select.png)]

from selenium import webdriverfrom selenium.webdriver.support.select import Selectfrom time import sleepdriver = webdriver.Chrome('F:ChromeChromeDriverchromedriver')driver.implicitly_wait(10)driver.get(’http://www.baidu.com’)#1.鼠標懸停至“設置”鏈接driver.find_element_by_link_text(’設置’).click()sleep(1)#2.打開搜索設置driver.find_element_by_link_text('搜索設置').click()sleep(2)#3.搜索結果顯示條數sel = driver.find_element_by_xpath('//select[@]')Select(sel).select_by_value(’50’) # 顯示50條sleep(3)driver.quit()

11.文件上傳

對于通過input標簽實現的上傳功能,可以將其看作是一個輸入框,即通過send_keys()指定本地文件路徑的方式實現文件上傳。

通過send_keys()方法來實現文件上傳:

from selenium import webdriverimport osdriver = webdriver.Firefox()file_path = ’file:///’ + os.path.abspath(’upfile.html’)driver.get(file_path)# 定位上傳按鈕,添加本地文件driver.find_element_by_name('file').send_keys(’D:upload_file.txt’)driver.quit()

12.cookie操作

有時候我們需要驗證瀏覽器中cookie是否正確,因為基于真實cookie的測試是無法通過白盒和集成測試進行的。WebDriver提供了操作Cookie的相關方法,可以讀取、添加和刪除cookie信息。

WebDriver操作cookie的方法:

方法 說明 get_cookies() 獲得所有cookie信息 get_cookie(name) 返回字典的key為“name”的cookie信息 add_cookie(cookie_dict) 添加cookie?!癱ookie_dict”指字典對象,必須有name 和value 值 delete_cookie(name,optionsString) 刪除cookie信息。“name”是要刪除的cookie的名稱,“optionsString”是該cookie的選項,目前支持的選項包括“路徑”,“域” delete_all_cookies() 刪除所有cookie信息

實例演示

from selenium import webdriverimport timebrowser = webdriver.Chrome('F:ChromeChromeDriverchromedriver')browser.get('http://www.youdao.com')#1.打印cookie信息print(’=====================================’)print('打印cookie信息為:')print(browser.get_cookies)#2.添加cookie信息dict={’name’:'name',’value’:’Kaina’}browser.add_cookie(dict)print(’=====================================’)print(’添加cookie信息為:’)#3.遍歷打印cookie信息for cookie in browser.get_cookies(): print(’%s----%sn’ %(cookie[’name’],cookie[’value’])) #4.刪除一個cookiebrowser.delete_cookie(’name’)print(’=====================================’)print(’刪除一個cookie’)for cookie in browser.get_cookies(): print(’%s----%sn’ %(cookie[’name’],cookie[’value’]))print(’=====================================’)print(’刪除所有cookie后:’)#5.刪除所有cookie,無需傳遞參數browser.delete_all_cookies()for cookie in browser.get_cookies(): print(’%s----%sn’ %(cookie[’name’],cookie[’value’]))time.sleep(3)browser.close()

13.調用JavaScript代碼

雖然WebDriver提供了操作瀏覽器的前進和后退方法,但對于瀏覽器滾動條并沒有提供相應的操作方法。在這種情況下,就可以借助JavaScript來控制瀏覽器的滾動條。WebDriver提供了execute_script()方法來執行JavaScript代碼。

用于調整瀏覽器滾動條位置的JavaScript代碼如下:

<!-- window.scrollTo(左邊距,上邊距); -->window.scrollTo(0,450);

window.scrollTo()方法用于設置瀏覽器窗口滾動條的水平和垂直位置。方法的第一個參數表示水平的左間距,第二個參數表示垂直的上邊距。其代碼如下:

from selenium import webdriverfrom time import sleep#1.訪問百度driver=webdriver.Firefox(executable_path ='F:GeckoDrivergeckodriver')driver.get('http://www.baidu.com')#2.搜索driver.find_element_by_id('kw').send_keys('selenium')driver.find_element_by_id('su').click()#3.休眠2s目的是獲得服務器的響應內容,如果不使用休眠可能報錯sleep(2)#4.通過javascript設置瀏覽器窗口的滾動條位置js='window.scrollTo(100,450);'driver.execute_script(js)sleep(3)driver.close()

通過瀏覽器打開百度進行搜索,并且提前通過set_window_size()方法將瀏覽器窗口設置為固定寬高顯示,目的是讓窗口出現水平和垂直滾動條。然后通過execute_script()方法執行JavaScripts代碼來移動滾動條的位置。滾動條上下左右滾動代碼演示

from selenium import webdriverfrom time import sleepdriver=webdriver.Firefox(executable_path ='F:GeckoDrivergeckodriver')driver.set_window_size(400,400)driver.get('https://www.baidu.com')#2.搜索# driver.find_element_by_id('kw').send_keys('selenium')# driver.find_element_by_id('su').click()#3.休眠2s目的是獲得服務器的響應內容,如果不使用休眠可能報錯sleep(10)#4 滾動左右滾動條---向右js2 = 'var q=document.documentElement.scrollLeft=10000'driver.execute_script(js2)sleep(15)#5 滾動左右滾動條---向左js3 = 'var q=document.documentElement.scrollLeft=0'driver.execute_script(js3)sleep(15)#6 拖動到滾動條底部---向下js = 'var q=document.documentElement.scrollTop=10000'driver.execute_script(js)sleep(15)#7 拖動到滾動條底部---向上js = 'var q=document.documentElement.scrollTop=0'driver.execute_script(js)sleep(15)driver.close()

14.窗口截圖

自動化用例是由程序去執行的,因此有時候打印的錯誤信息并不十分明確。如果在腳本執行出錯的時候能對當前窗口截圖保存,那么通過圖片就可以非常直觀地看出出錯的原因。WebDriver提供了截圖函數get_screenshot_as_file()來截取當前窗口。

截屏方法:

方法 說明 get_screenshot_as_file(self, filename) 用于截取當前窗口,并把圖片保存到本地

from selenium import webdriverfrom time import sleepdriver =webdriver.Firefox(executable_path ='F:GeckoDrivergeckodriver')driver.get(’http://www.baidu.com’)driver.find_element_by_id(’kw’).send_keys(’selenium’)driver.find_element_by_id(’su’).click()sleep(2)#1.截取當前窗口,并指定截圖圖片的保存位置driver.get_screenshot_as_file('D:baidu_img.jpg')driver.quit()

15.關閉瀏覽器

在前面的例子中我們一直使用quit()方法,其含義為退出相關的驅動程序和關閉所有窗口。除此之外,WebDriver還提供了close()方法,用來關閉當前窗口。例多窗口的處理,在用例執行的過程中打開了多個窗口,我們想要關閉其中的某個窗口,這時就要用到close()方法進行關閉了。

方法 說明 close() 關閉單個窗口 quit() 關閉所有窗口

總結

到此這篇關于Python Selenium庫的基本使用教程的文章就介紹到這了,更多相關Python Selenium庫使用內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 久久久久久久久久穴 | av在线成人 | 91中文字幕在线观看 | 成人精品视频99在线观看免费 | 精品免费国产一区二区三区四区 | 久久艹久久 | 欧美视频在线播放 | 亚洲精品一区 | 欧洲国产伦久久久久久久 | 成人免费网站视频 | 天天操天天玩 | 色婷婷av一区二区三区软件 | 免费日韩 | 91精品国产综合久久久蜜臀粉嫩 | 欧美二三区 | 性开放xxxhd视频 | 久久久精品 | 国产精品欧美日韩 | 久久精品电影网 | 91综合网| 不卡成人 | 国产1区2区 | 中文字幕日韩一区二区不卡 | 成人小视频在线观看 | 亚洲视频在线观看 | 97视频免费在线观看 | 国产高清美女一级a毛片久久 | 日韩中文字幕一区二区 | 2024天天干| 久久婷婷麻豆国产91天堂 | 91视频www| 99草免费视频 | 亚洲一区二区三区观看 | 91精品国产日韩91久久久久久 | 欧美福利专区 | 亚洲狠狠爱一区二区三区 | 成人免费视频网站在线看 | 日韩日韩日韩日韩日韩日韩 | 亚洲永久免费 | 免费v片| 欧美在线免费 | jizz欧美最大 | 密室大逃脱第六季大神版在线观看 | 国产一区二区三区不卡在线观看 | 亚洲一区二区视频在线观看 | 国产精品久久久 | www.久久精品| 青青草亚洲 | 91高清视频 | 麻豆精品久久久 | 欧美福利在线 | 精品无人乱码一区二区三区 | 91免费版在线观看 | 大陆一级毛片免费视频观看 | 成人欧美一区二区三区在线播放 | 91.成人天堂一区 | 香蕉大人久久国产成人av | 精品国产免费久久久久久尖叫 | 久久不射电影网 | 日韩a∨| 99爱国产| 亚洲精品女人久久 | 久久久久久一区 | 久久久久亚洲精品 | 中文字幕日韩欧美 | 亚洲三级在线播放 | 亚洲午夜视频在线观看 | 中文字幕高清av | 日韩精品免费 | 91免费在线| 久久天堂av综合合色蜜桃网 | 午夜影院在线观看视频 | 中文亚洲| 亚洲国产成人在线 | 性国产xxxx乳高跟 | 日韩成人一区 | 91性高湖久久久久久久久_久久99 | 久久精品1| 国产亚洲欧美一区 | 欧美一区二区三区免费视频 | 亚洲网在线 | vagaa欧洲色爽免影院 | 麻豆一区| 中文字幕av一区二区三区免费看 | 欧美精品99| 欧美3区 | 成人免费精品视频 | av一区二区在线观看 | 福利影院在线观看 | 国产999精品久久久久久麻豆 | 亚洲欧美激情精品一区二区 | 日本一区二区三区四区 | 欧美黄色精品 | 国产欧美综合一区二区三区 | 国产精品久久久久久久久久久免费看 | 毛片91| 亚洲一区中文字幕 | 日韩中文字幕一区二区 | 热re99久久精品国产99热 | 国产aⅴ一区二区 | 日本一区二区在线视频 | 在线国产欧美 | 国产精品日韩三级 | 一本一道久久a久久精品综合 | 国产综合亚洲精品一区二 | 欧美日韩国产精品久久久久 | 三级在线观看 | 精品久久一区二区三区 | 久久久精品一区 | 免费色在线 | 97国产精品久久久 | 男人天堂a | 国产成人涩涩涩视频在线观看 | 黄色片网站在线免费观看 | 国产精品一区二区久久久久 | 国产综合久久久久久鬼色 | 日韩久久久久久 | 黄色精品视频 | 国外成人在线视频网站 | 色播久久| 狠狠操综合网 | 黄视频网站免费看 | 亚洲精品久久久久久久久久久久久 | h视频在线观看免费 | aⅴ色国产 欧美 | 国产一区二区三区 | 国产精品久久久久久久天堂 | 亚洲欧美一区二区三区在线 | 丁香婷婷在线 | 欧美成人中文字幕 | 国产真实精品久久二三区 | 日本免费在线视频 | 国产成人精品亚洲777人妖 | 欧美视频在线免费 | 风间由美一区二区三区在线观看 | 亚洲高清不卡视频 | 国产农村妇女精品一二区 | 日本一区二区三区四区 | gogo熟少妇大胆尺寸 | 久久久精品网站 | 男女羞羞视频在线观看 | 四虎永久免费在线 | 国产精品毛片一区视频播 | 五月天婷婷社区 | 综合网日韩 | 色播开心网 | 亚洲 欧美日韩 国产 中文 | 国产91富婆养生按摩会所 | 亚洲一区二区三区在线免费观看 | 久久综合精品视频 | 黄色在线观看网址 | 日日爱999 | 91精品国产91久久久久游泳池 | 一区二区三区不卡视频 | 欧美日韩三级 | 欧美一区二区三区精品 | 欧美一区二区三区在线观看视频 | 成年人黄色一级毛片 | 精品久久一区二区三区 | 91九色视频在线 | 欧美激情综合五月色丁香小说 | 国产精品美女久久久久久久久久久 | 一本大道综合伊人精品热热 | 亚洲 欧美 日韩在线 | 色伊人| 日韩视频精品在线 | 精品国产成人 | 国产高清视频在线 | 天天干天天曰天天操 | 高清国产视频 | 欧美一级黄带 | 亚洲大奶网| 看羞羞视频免费 | 成人福利在线 | 国产在线a| 国产一区二区三区视频在线观看 | 国产小视频在线播放 | 欧美一级在线观看 | 精品一区二区三区四区视频 | 久久国内免费视频 | 永久免费精品视频 | 黄色片网站 | 日韩欧美一区二区三区久久婷婷 | 日韩中文字幕欧美 | 99re在线视频 | 亚洲精品福利 | 精品一区二区三区免费毛片爱 | 国产成人免费 | 2021最新热播中文字幕-第1页-看片视频 青青青久草 | 欧美久久久久久久久久 | 日本视频在线 | 欧美成人激情 | 91精品国产91综合久久蜜臀 | 日韩一区二区三区在线 | 天天草天天干 | 精品国产乱码久久久久久久 | 97夜夜操 | 中文字幕在线观看一区二区三区 | 国产激情视频 | 蜜桃精品在线观看 | 一区二区三区免费 | 欧美激情亚洲 | 久久久精品 | 午夜精品久久久久久久久 | 亚洲激情一区 | 精品久久久久久久久久久久 | 男人天堂视频网 | 中文字幕av亚洲精品一部二部 | 91精品国产综合久久久久久 | av国产精品 | 久久69精品久久久久久久电影好 | 黄色免费高清视频 | 亚洲精品视频国产 | 亚洲国产婷婷 | 六月丁香在线观看 | 亚洲精品自在在线观看 | 国产另类一区 | 亚洲区在线 | 中文字幕一区二区三区乱码图片 | 国产精品国产精品国产专区不片 | 日韩素人一区二区三区 | 欧美极品一区二区三区 | 91免费看片神器 | 玖草在线视频 | 欧美黄色a视频 | 久久久久久久久久久精 | 亚洲视频三区 | 91麻豆精品国产91久久久资源速度 | 国产日韩一级片 | 久久99国产精品久久99大师 | 精品久久久久久亚洲综合网站 | 日韩国产欧美 | 日本一区二区不卡 | 日日骚视频 | 日韩在线视频观看 | 亚洲欧美久久久 | 日韩久久久一区二区 | 北条麻妃99精品青青久久 | 久久蜜桃视频 | 在线观看欧美一区 | 精品免费视频 | 亚洲啊v在线 | 欧美一级片免费在线观看 | 中国免费看的片 | 精品久久久久久久久久久久 | 亚洲视频一区二区三区 | 国产亚洲视频在线观看 | 伊人伊人 | 成人综合av | 五月激情综合 | 97超碰站| 欧美激情国产日韩精品一区18 | 欧美午夜一区 | 性色视频免费观看 | 在线观看欧美一区 | 日韩一级 | 免费观看黄a一级视频 | 99热手机在线观看 | 国产精品无码久久久久 | 亚洲成人免费 | 亚洲国产成人在线 | 国产超碰人人爽人人做人人爱 | 亚洲777| 91精品久久久久久久久入口 | 91亚洲视频 | 欧美一区二区三区电影 | 成人精品视频99在线观看免费 | 日韩在线播放网址 | 亚洲国产精品t66y | a在线看 | 日韩电影免费在线观看中文字幕 | 午夜免费福利电影 | 久久国产精品久久 | 国产精品高清在线 | 99成人 | 久久综合热 | 欧美性一区二区三区 | 天天久久 | 精品国产乱码久久久久久1区2区 | 亚洲国产福利一区 | 欧美在线视频一区二区 | av官网在线 | 亚洲欧美在线综合 | 看片wwwwwwwwwww | 黄色精品视频 | 日韩精品一区在线 | 精精国产| 久久久成人精品 | 成人久久18免费观看 | 亚洲成人精品 | 国产不卡一二三区 | 在线观看免费黄色片 | 久久三区 | 99精品一区二区三区 | 狠狠操狠狠干 | 日韩一区二区三区精品 | 国产黄色在线免费看 | 国产www视频 | 中文字幕观看 | 中文精品在线 | 亚洲免费人成在线视频观看 | 免费看一区二区三区 | 国产精品久久久久久久久久免费 | 青草视频网站 | 99久久久国产精品 | 日韩在线小视频 | 91精品国产综合久久久久久软件 | 91视频播放 | 亚洲国产成人av好男人在线观看 | 午夜影院网站 | 亚洲天天操 | 99免费在线观看视频 | 成人黄色片在线观看 | 国产精品一区二区三区四区 | 日韩免费视频 | 久草一区 | yy6080久久伦理一区二区 | 夜夜操天天干 | 亚洲欧美成人网 | 2021狠狠干| 国产伦精品一区二区三区四区视频_ | av在线免费播放 | 97色在线视频 | 久久久999精品视频 99国产精品久久久久久久 | 在线观看国产视频 | 国产精品久久久一区二区 | 毛片激情永久免费 | 久久伊| 国产成人综合av | 在线观看你懂的网站 | 亚洲欧洲精品在线 | 国产欧美综合在线 | 成人午夜影院 | 国产一区二区三区视频在线观看 | 精品亚洲一区二区三区 | 天天干狠狠干 | 亚洲成人免费影院 | 国产精品视频免费 | 日韩精品在线播放 | 精品一区在线视频 | 亚洲网站免费看 | 久久久久久久国产 | 日韩国产二区 | 亚洲精品乱码久久久久久花季 | 欧美国产日韩一区 | 精品久久久久久久久久久久久久 | 国产一区二区三区免费看 | 日韩欧美在线看 | a在线免费| 免费观看黄视频 | 免费亚洲视频 | 成人亚洲 | 人人艹人人 | 亚洲国产成人av | 国产视频网 | 亚洲日本韩国欧美 | 四虎网址| 国产精品18hdxxxⅹ在线 | 日本天天操| 日韩中文字幕在线看 | 99re6热只有精品免费观看 | 国产免费拔擦拔擦8x高清在线人 | 欧美视频免费在线 | 亚洲第一天堂 | 欧美日韩精品免费观看视频 | 欧美成人二区 | 久久草| 色综久久 | 久草视频免费在线播放 | 综合网亚洲 | 国产激情网站 | 精品视频在线免费观看 | 97超碰在线播放 | 久草免费在线 | 中文字幕 视频一区 | 国产福利网站 | 国产精品香蕉 | 伊人免费观看视频 | 中文字幕在线视频精品 | 亚洲一区二区三区四区在线 | 欧美精品在线观看免费 | av大片在线观看 | 国内精品一区二区 | 新疆少妇videos高潮 | 涩涩天堂 | 欧洲一区二区三区 | hitomi一区二区三区精品 | 青青久视频 | 欧美一区久久 | 天堂中文av在线 | gav成人免费播放视频 | 亚洲成人精品久久 | 成人免费毛片高清视频 | 久久综合九九 | 亚洲国产午夜 | 国产精品一区二区av | 欧美日韩精品一区 | 国产精品中文字幕在线 | 中文字幕 国产精品 | 一级黄色片在线 | 久久国产电影 | 一区二区免费视频 | 日韩成人精品在线 | 日韩成人小视频 | 狠狠综合 | 国产精选一区二区三区 | 天天看片天天干 | 国产激情网站 | 国产精品1区2区 | 欧美在线一区二区 | 日韩精品一区二区三区四区 | 夜夜操天天干 | 免费视频爱爱太爽了 | 国产精品久久久久久吹潮 | 色官网 | 国产一级片在线播放 | 亚洲精品成人免费 | 日韩精品av一区二区三区 | 在线欧美一区 | 亚洲精品影院 | 久久久免费av | 欧洲另类二三四区 | 精品一区二区视频 | 99免费看 | 国产成人精品久久 | 中文字幕一区二区三区乱码图片 | 国产伊人99| 日韩专区在线播放 | 国产一区二区欧美 | 曰批免费视频播放免费 | 露娜同人18av黄漫网站 | 日韩欧美在线视频免费观看 | 日韩中文一区二区三区 | 成人二区 | 成年人黄色一级片 | 久久久999精品视频 五月天婷婷在线视频 | 特级毛片在线 | 欧洲一区 | 国产a久久精品一区二区三区 | 四虎成人在线视频 | 国产麻豆一区二区三区 | 国产在线精品一区二区三区 | 成人在线播放网站 | 视频在线一区 | 一区二区三区国产 | 亚洲一区二区三区日韩 | 天天干夜夜操 | 欧美区在线 | 91av视频在线观看 | 久久黄网| 天堂资源网 | 国产精品亚洲a | 国产91在线视频 | 精品久久久中文字幕 | 激情小视频在线观看 | 日韩欧在线 | 亚洲天天 | 黄色精品一区二区 | 成人在线网站 | 亚洲一区二区三区在线播放 | 亚洲精品3| 日韩精品久久理论片 | 日韩在线免费 | 亚洲成人免费在线 | 成人精品免费视频 | 久久国产精品99精国产 | 国产精品一区在线看 | 一二三四区视频在线观看 | 81精品国产乱码久久久久久 | 欧美精品一区二区在线观看 | 国产网站视频 | 99国产精品久久久久久久成人热 | 五月婷婷综合网 | 黄色大片在线播放 | 久久国产精品久久久久久 | 亚洲成人精品在线观看 | 午夜在线| 久久久久国产一区二区三区四区 | 久久天堂 | 正在播放国产一区 | 亚洲 欧美 日韩在线 | 国产精品日韩 | 亚洲一区中文字幕在线观看 | 黄色资源网站 | 在线观看www| 久久久久久久99精品免费观看 | 精品九九久久 | 日本不卡一二三 | 国产在线一区二区 | 一区二区三区国产免费 | av网站网址| 国产单男 | 97久久超碰| 亚洲一区二区三区在线播放 | 欧美一级片在线观看 | 黄色毛片在线观看 | 亚洲精品久久久久久一区二区 | 精品久久久久久亚洲精品 | 欧美日韩亚洲三区 | 天堂精品久久 | 国产真实乱全部视频 | 国产四区| 玖玖爱视频在线 | 一级黄色毛片免费 | 毛片在线免费 | 日韩国产一区二区 | 亚洲精品久久久久avwww潮水 | 这里只有精品在线 | 国产成人综合网 | 日韩精品免费 | 日韩精品在线播放 | 久久久久国产视频 | 伊人欧美在线 | 中国一级毛片 | 亚洲精品久久久久久久久久久久久 | 中文字幕视频在线 | 男女免费视频 | 99国产精品久久久 | 九九视频在线 | 亚洲精品一区二区三区中文字幕 | 精品久久久久久久久久久久 | 午夜免费福利视频 | 在线观看一区 | 自拍偷拍99| 69av在线视频 | 午夜四虎| 国产精品99久久久久久久vr | 精品久久久久国产免费 | 午夜亚洲| 久久久久久免费毛片精品 | 久久久精彩视频 | 欧美一级视频在线观看 | 国产在线a| 精品一区二区三区免费毛片爱 | 亚洲激情视频在线播放 | 亚洲欧美综合精品久久成人 | 高清成人 | 激情久久av一区av二区av三区 | 一级毛片视频 | 欧美日韩成人在线 | 日本久久久久久久 | 亚洲国产二区 | 日韩一区二区精品 | 国产区第一页 | 欧美成人在线免费视频 | 日韩中文字幕电影 | 日本免费在线视频 | 国产精品久久一区 | 日韩精品免费视频 | 日韩小视频在线播放 | 国产偷录视频叫床高潮对白 | 久久国产综合 | 久久中文字幕一区 | 在线观看国产www | 久久精品这里只有精品 | 欧美自拍视频一区 | 一区二区三区的视频 | 亚洲精品国产电影 | 成人一区二区三区久久精品嫩草 | 冷水浴在线观看 | 国产一区二区视频在线观看 | 麻豆毛片 | 国产精品综合 | 亚洲国产精品一区二区第一页 | 91蜜桃视频 | 午夜影院在线观看 | 欧美高清视频一区二区三区 | 中文成人无字幕乱码精品 | 欧美在线亚洲 | 国产精品久久久久久久一区探花 | 日韩在线视频精品 | 爱爱日韩| 欧美日韩二区三区 | av大片网 | 久久青| 欧美日韩在线看 | 97成人在线免费视频 | 美女一级a毛片免费观看97 | 日日干夜夜骑 | 久久夜夜 | 夜夜夜久久久 | 国产精品久久久久久久娇妻 | 久久夜视频| 看亚洲a级一级毛片 | 国产91在线免费观看 | 欧美video| 久久久久久国产精品mv | 日韩在线小视频 | 久久精品无码一区二区日韩av | 国产中文字幕在线观看 | 中文字幕视频免费观看 | 9se成人免费网站 | 毛片站 | 最新超碰 | 亚洲综合色自拍一区 | 中国特黄毛片 | 亚洲精品国产精品国自产 | 日日摸天天爽天天爽视频 | 在线一区二区三区 | 国产高清在线观看 | 国产精品久久久久久亚洲调教 | 欧美成人h版在线观看 | 毛片黄片| 日韩精品专区在线影院重磅 | 久久久久国产一级毛片高清版小说 | 日日想日日干 | 国产精品一二 | www.成人| 国产精品一区二区在线观看 | 人人射av | 免费日本视频 | 国产h片在线观看 | 欧美 日韩 国产 一区 | 欧美在线一区二区三区 | 国产精品一区二区三 |