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

Python爬蟲實現(xiàn)selenium處理iframe作用域問題

 更新時間:2021年01月27日 09:29:27   作者:Master先生  
這篇文章主要介紹了Python爬蟲實現(xiàn)selenium處理iframe作用域問題,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

項目場景:

在使用selenium模塊進行數(shù)據(jù)爬取時,通常會遇到爬取iframe中的內(nèi)容。會因為定位的作用域問題爬取不到數(shù)據(jù)。

問題描述:

我們以菜鳥教程的運行實例為案例。
按照正常的定位

在這里插入圖片描述

會以文本塊生成xpath為/html/body/text()。這樣的話根據(jù)xpath進行如下代碼編寫。

#!/user/bin/
# -*- coding:UTF-8 -*-
# Author:Master

from selenium import webdriver
import time

driver = webdriver.Chrome(executable_path="./chromedriver")
driver.get('https://www.runoob.com/try/runcode.php?filename=HelloWorld&type=python3')
time.sleep(2)
text = driver.find_element_by_xpath('/html/body').text
print(text)
time.sleep(5)
driver.quit()

執(zhí)行結(jié)果:

在這里插入圖片描述

很明顯這并不是想要的結(jié)果。

原因分析:

當(dāng)我們打開抓包工具定位到Hello, World!文本的時候會發(fā)現(xiàn),該文本是在一個iframe中。這樣的話我們xpath所定位到的內(nèi)容則是大的html中的路徑。我們需要的內(nèi)容則是在iframe中的小的html中。

解決方案:

通過分析發(fā)現(xiàn),想要解決問題的實質(zhì)就是改變作用域。通過switch_to.frame(‘id')方法來改變作用域就可以了。

重新編寫代碼:

#!/user/bin/
# -*- coding:UTF-8 -*-
# Author:Master

from selenium import webdriver
import time

driver = webdriver.Chrome(executable_path="./chromedriver")
driver.get('https://www.runoob.com/try/runcode.php?filename=HelloWorld&type=python3')
time.sleep(2)
driver.switch_to.frame('iframeResult')
text = driver.find_element_by_xpath('/html/body').text
print(text)
time.sleep(5)
driver.quit()

查看運行結(jié)果:

在這里插入圖片描述

到此這篇關(guān)于Python爬蟲實現(xiàn)selenium處理iframe作用域問題的文章就介紹到這了,更多相關(guān)selenium iframe作用域內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • OpenCV-PS擴散毛玻璃效果的實現(xiàn)代碼

    OpenCV-PS擴散毛玻璃效果的實現(xiàn)代碼

    PS的擴散效果可以產(chǎn)生類似毛玻璃質(zhì)感的效果,使畫面有些毛毛的感覺。接下來通過本文給大家分享OpenCV-PS擴散毛玻璃效果的實現(xiàn)代碼,一起看看吧
    2021-09-09
  • pandas中DataFrame字典互轉(zhuǎn)的實現(xiàn)

    pandas中DataFrame字典互轉(zhuǎn)的實現(xiàn)

    在數(shù)據(jù)處理和分析中,Pandas是一個非常強大的Python庫,本文主要介紹了pandas中DataFrame字典互轉(zhuǎn)的實現(xiàn),文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-04-04
  • 解決pycharm下pyuic工具使用的問題

    解決pycharm下pyuic工具使用的問題

    這篇文章主要介紹了解決pycharm下pyuic工具使用的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Python如何基于smtplib發(fā)不同格式的郵件

    Python如何基于smtplib發(fā)不同格式的郵件

    這篇文章主要介紹了Python如何基于smtplib發(fā)不同格式的郵件,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • Pytorch實現(xiàn)LSTM和GRU示例

    Pytorch實現(xiàn)LSTM和GRU示例

    今天小編就為大家分享一篇Pytorch實現(xiàn)LSTM和GRU示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python實現(xiàn)DBSCAN聚類算法并樣例測試

    Python實現(xiàn)DBSCAN聚類算法并樣例測試

    聚類是一種機器學(xué)習(xí)技術(shù),它涉及到數(shù)據(jù)點的分組,聚類是一種無監(jiān)督學(xué)習(xí)的方法,是許多領(lǐng)域中常用的統(tǒng)計數(shù)據(jù)分析技術(shù)。本文給大家分享Python實現(xiàn)DBSCAN聚類算法并樣例測試,感興趣的朋友一起看看吧
    2021-06-06
  • python類參數(shù)定義及數(shù)據(jù)擴展方式unsqueeze/expand

    python類參數(shù)定義及數(shù)據(jù)擴展方式unsqueeze/expand

    本文主要介紹了python類參數(shù)定義及數(shù)據(jù)擴展方式unsqueeze/expand,文章通過圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-08-08
  • django-rest-swagger對API接口注釋的方法

    django-rest-swagger對API接口注釋的方法

    今天小編就為大家分享一篇django-rest-swagger對API接口注釋的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • python實現(xiàn)超簡單端口轉(zhuǎn)發(fā)的方法

    python實現(xiàn)超簡單端口轉(zhuǎn)發(fā)的方法

    這篇文章主要介紹了python實現(xiàn)超簡單端口轉(zhuǎn)發(fā)的方法,實例分析了Python同構(gòu)socket實現(xiàn)端口轉(zhuǎn)發(fā)的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • Django?+?Taro?前后端分離項目實現(xiàn)企業(yè)微信登錄功能

    Django?+?Taro?前后端分離項目實現(xiàn)企業(yè)微信登錄功能

    這篇文章主要介紹了Django?+?Taro?前后端分離項目實現(xiàn)企業(yè)微信登錄功能,本文記錄一下企業(yè)微信登錄的流程,結(jié)合示例代碼給大家分享實現(xiàn)思路,需要的朋友可以參考下
    2022-04-04

最新評論