欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

from selenium.webdriver.common.keys import Keys 
動態(tài)網(wǎ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)頁上的鼠標的動作

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

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

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

from selenium.webdriver.common.action_chains import *

ActionChains中的操作:

click() -- 單擊、click_and_hold()-- 按下鼠標左鍵在一個元素上、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)頁鼠標操作及遇到的問題

動態(tài)網(wǎ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()
#而后進行選擇列表項
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()

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

#... ... 
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() 

關于窗口的頁面切換方式

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

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

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

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

相關文章

  • 對python條件表達式的四種實現(xiàn)方法小結

    對python條件表達式的四種實現(xiàn)方法小結

    今天小編就為大家分享一篇對python條件表達式的四種實現(xiàn)方法小結,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • 實現(xiàn)ECharts雙Y軸左右刻度線一致的例子

    實現(xiàn)ECharts雙Y軸左右刻度線一致的例子

    這篇文章主要介紹了實現(xiàn)ECharts雙Y軸左右刻度線一致的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • 使用Python實現(xiàn)全攝像頭拍照與鍵盤輸入監(jiān)聽功能

    使用Python實現(xiàn)全攝像頭拍照與鍵盤輸入監(jiān)聽功能

    這篇文章主要介紹了使用Python實現(xiàn)全攝像頭拍照與鍵盤輸入監(jiān)聽功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-08-08
  • python二維鍵值數(shù)組生成轉json的例子

    python二維鍵值數(shù)組生成轉json的例子

    今天小編就為大家分享一篇python二維鍵值數(shù)組生成轉json的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python字典高級用法深入分析講解

    Python字典高級用法深入分析講解

    字典作為Python的一個內置數(shù)據(jù)結構,和列表一樣都是可變序列的,但是它是無序的,以鍵值對的方式存儲數(shù)據(jù)。本文將詳解一下Python中字典的高級使用,需要的可以參考一下
    2022-10-10
  • Pycharm安裝第三方庫失敗解決方案

    Pycharm安裝第三方庫失敗解決方案

    這篇文章主要介紹了Pycharm安裝第三方庫失敗解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11
  • 解決python3 json數(shù)據(jù)包含中文的讀寫問題

    解決python3 json數(shù)據(jù)包含中文的讀寫問題

    今天小編就為大家分享一篇解決python3 json數(shù)據(jù)包含中文的讀寫問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • numpy中關于where函數(shù)的用法

    numpy中關于where函數(shù)的用法

    這篇文章主要介紹了numpy中關于where函數(shù)的用法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • 使用apidocJs快速生成在線文檔的實例講解

    使用apidocJs快速生成在線文檔的實例講解

    下面小編就為大家分享一篇使用apidocJs快速生成在線文檔的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-02-02
  • 關于Word2Vec可視化展示

    關于Word2Vec可視化展示

    這篇文章主要介紹了關于Word2Vec可視化展示,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11

最新評論