最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python爬蟲信息輸入及頁面的切換方法

 更新時間:2018年05月11日 09:57:58   作者:小爐灶  
今天小編就為大家分享一篇Python爬蟲信息輸入及頁面的切換方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

實現(xiàn)網(wǎng)頁的鍵盤輸入操作

from selenium.webdriver.common.keys import Keys 
動態(tài)網(wǎng)頁有時需要將鼠標(biāo)懸停在某個元素上,相應(yīng)的列表選項才能顯示出來。 
而爬蟲在工作的時候也需要相應(yīng)的操作,才能獲得列表項。 
driver.find_element_by_class_name(...).send_keys(需要輸入的字串) 
#find_element_by_class_name可以是find_element_by_link_text、find_element_by_id等其他方式 
#send_keys一些特殊字符串,可以通過help(Keys)顯示出來,如實現(xiàn)按回車操作需要使用Keys.ENTER 

實現(xiàn)網(wǎng)頁上的鼠標(biāo)的動作

driver.find_element_by_link_text('更多').click()#需要指示到/a鏈接的位置

#同樣find_element_by_link_text可以是find_element_by_id等類似的其他方式

使用ActionChains可以實現(xiàn)鼠標(biāo)的更多操作

from selenium.webdriver.common.action_chains import *

ActionChains中的操作:

click() -- 單擊、click_and_hold()-- 按下鼠標(biāo)左鍵在一個元素上、context_click() --單擊、double_click()--雙擊、drag_and_drop()--拖動、key_down()、key_up()、move_by_offset()、move_to_elment()、move_to_elment_with_offset()

動態(tài)網(wǎng)頁鼠標(biāo)操作及遇到的問題

動態(tài)網(wǎng)頁有時需要將鼠標(biāo)懸停在某個元素上,相應(yīng)的列表選項才能顯示出來。而爬蟲在工作的時候也需要相應(yīng)的操作,才能獲得列表項。

#首先需要將鼠標(biāo)停留到相應(yīng)的元素
chain = ActionChains(driver)
moveelment = driver.find_element_by_xpath("...")
chain.move_to_element(moveelment).perform()
driver.find_element_by_xpath("http://div[@class='search-condition c5 drop-down']/a/div").click()
#而后進(jìn)行選擇列表項
driver.find_element_by_xpath("http://ul[@id='category_list']/li[1]/a").click()
driver.find_element_by_xpath("http://ul[@id='category_list']/li[2]/a").click()

而當(dāng)想要進(jìn)行多列操作時出現(xiàn)了問題:driver.find_element_by_xpath("http://ul[@id='category_list']/li[2]/a").click()一直無法成功仔細(xì)debug發(fā)現(xiàn):在人工瀏覽查看相應(yīng)列表時,全屏情況下列表顯示是3列,而當(dāng)需要聚焦特殊網(wǎng)頁時,通過解析current_url進(jìn)行比較即可,是否存在更好的方法。如果窗口很小就只能顯示第一列的值。所以嘗試將爬蟲后臺瀏覽器窗口設(shè)置成最大化,程序正常工作,如下:

#... ... 
driver.find_element_by_xpath("http://ul[@id='category_list']/li[1]/a").click() 
driver.maximize_window()  
time.sleep(1) 
driver.find_element_by_xpath("http://ul[@id='category_list']/li[2]/a").click() 

關(guān)于窗口的頁面切換方式

經(jīng)常在網(wǎng)頁操作時,會彈出新的頁面,而爬蟲需要程序進(jìn)行窗口間的切換。

#切換網(wǎng)頁,以獲取新彈出的網(wǎng)頁窗口 
for handle in driver.window_handles: 
  driver.switch_to_window(handle) 
  print('current url:%s'%driver.current_url) 

當(dāng)需要聚焦特殊網(wǎng)頁時,通過解析current_url進(jìn)行比較即可,是否存在更好的方法。

以上這篇Python爬蟲信息輸入及頁面的切換方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python實現(xiàn)PolynomialFeatures多項式的方法

    python實現(xiàn)PolynomialFeatures多項式的方法

    這篇文章主要介紹了python實現(xiàn)PolynomialFeatures多項式的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • python對綁定事件的鼠標(biāo)、按鍵的判斷實例

    python對綁定事件的鼠標(biāo)、按鍵的判斷實例

    今天小編就為大家分享一篇python對綁定事件的鼠標(biāo)、按鍵的判斷實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • python 性能優(yōu)化方法小結(jié)

    python 性能優(yōu)化方法小結(jié)

    本文主要介紹了python 提高性能的方法。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-03-03
  • 解決vscode python print 輸出窗口中文亂碼的問題

    解決vscode python print 輸出窗口中文亂碼的問題

    今天小編就為大家分享一篇解決vscode python print 輸出窗口中文亂碼的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • python 實現(xiàn)圖片上傳接口開發(fā) 并生成可以訪問的圖片url

    python 實現(xiàn)圖片上傳接口開發(fā) 并生成可以訪問的圖片url

    今天小編就為大家分享一篇python 實現(xiàn)圖片上傳接口開發(fā) 并生成可以訪問的圖片url,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • python裝飾器decorator介紹

    python裝飾器decorator介紹

    這篇文章主要介紹了python裝飾器decorator介紹,decorator設(shè)計模式允許動態(tài)地對現(xiàn)有的對象或函數(shù)包裝以至于修改現(xiàn)有的職責(zé)和行為,簡單地講用來動態(tài)地擴(kuò)展現(xiàn)有的功能,需要的朋友可以參考下
    2014-11-11
  • 利用Python對哥德巴赫猜想進(jìn)行檢驗和推理

    利用Python對哥德巴赫猜想進(jìn)行檢驗和推理

    數(shù)學(xué)是一個奇妙的東西,對此,也衍生出了許多的悖論與猜想。這篇文章會對哥德巴赫猜想用編程語言進(jìn)行檢驗和推理,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-12-12
  • PyTorch: Softmax多分類實戰(zhàn)操作

    PyTorch: Softmax多分類實戰(zhàn)操作

    這篇文章主要介紹了PyTorch: Softmax多分類實戰(zhàn)操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • python 日志增量抓取實現(xiàn)方法

    python 日志增量抓取實現(xiàn)方法

    下面小編就為大家分享一篇python 日志增量抓取實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • PyQt5中QTimer定時器的實例代碼

    PyQt5中QTimer定時器的實例代碼

    如果需要在程序中周期性地進(jìn)行某項操作,比如檢測某種設(shè)備的狀態(tài),就會用到定時器,本文主要介紹了PyQt5中QTimer定時器的實例代碼,感興趣的可以了解一下
    2021-06-06

最新評論

永州市| 延安市| 临朐县| 郯城县| 新闻| 桑日县| 托克逊县| 盐亭县| 兰坪| 洪洞县| 巩义市| 阿拉善右旗| 墨竹工卡县| 扶风县| 新余市| 怀远县| 宾阳县| 邵阳县| 大悟县| 莒南县| 金平| 确山县| 鲁甸县| 岳阳市| 讷河市| 舟曲县| 禹州市| 天气| 潮州市| 绥化市| 酒泉市| 陆河县| 密云县| 呈贡县| 冕宁县| 交城县| 大港区| 南岸区| 长春市| 谷城县| 嘉祥县|