国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

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

2020-01-04 15:06:58
字體:
來源:轉載
供稿:網友

實現網頁的鍵盤輸入操作

from selenium.webdriver.common.keys import Keys 動態網頁有時需要將鼠標懸停在某個元素上,相應的列表選項才能顯示出來。 而爬蟲在工作的時候也需要相應的操作,才能獲得列表項。 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)顯示出來,如實現按回車操作需要使用Keys.ENTER 

實現網頁上的鼠標的動作

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

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

使用ActionChains可以實現鼠標的更多操作

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

動態網頁鼠標操作及遇到的問題

動態網頁有時需要將鼠標懸停在某個元素上,相應的列表選項才能顯示出來。而爬蟲在工作的時候也需要相應的操作,才能獲得列表項。

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

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

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

關于窗口的頁面切換方式

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

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

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

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


注:相關教程知識閱讀請移步到python教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 湖北省| 历史| 遂平县| 崇仁县| 阳新县| 江油市| 庆阳市| 宁陕县| 姜堰市| 花垣县| 英吉沙县| 凤凰县| 林周县| 久治县| 西藏| 观塘区| 隆安县| 衡山县| 德钦县| 馆陶县| 都匀市| 龙南县| 安新县| 郧西县| 高要市| 江城| 濮阳市| 克拉玛依市| 盘锦市| 巴里| 洛南县| 黄平县| 美姑县| 巴东县| 汉寿县| 邮箱| 榆林市| 新野县| 安丘市| 双流县| 陇西县|