亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁技術(shù)文章
文章詳情頁

網(wǎng)頁爬蟲 - Python+Selenium+PhantomJs爬蟲,如何取得新打開頁面的源碼?

瀏覽:108日期:2022-09-13 10:39:57

問題描述

我在做一個(gè)python爬蟲,使用了selenium庫和phantomjs瀏覽器。我在一個(gè)網(wǎng)頁中觸發(fā)了一個(gè)click事件打開了一個(gè)新的網(wǎng)頁,然后我用browser.page_source得到的卻是原來那個(gè)網(wǎng)頁非新打開網(wǎng)頁的源碼,請(qǐng)問我該如何取得新打開頁面的源碼呢?

問題解答

回答1:

如果鏈接打開了一個(gè)新標(biāo)簽頁的話,你的driver還是下默認(rèn)使用的還是當(dāng)前窗口,

Alternatively, you can pass a “window handle” to the “switch_to_window()” method. Knowing this, it’s possible to iterate over every open window like so:

for handle in driver.window_handles: driver.switch_to_window(handle)

比如,如果你的瀏覽器有幾個(gè)標(biāo)簽頁,那么window_handles就保存了對(duì)應(yīng)這幾個(gè)標(biāo)簽頁對(duì)應(yīng)的實(shí)例對(duì)象,所以如果你當(dāng)前只打開了一個(gè)網(wǎng)頁,那么你新打開的頁面就是 window_handles[1]轉(zhuǎn)換到那個(gè)頁面后,再獲取源碼。

回答2:

如果是在當(dāng)前窗口打開,有可能因?yàn)樾马撁孢€沒有加載完成,到時(shí)拿不到新頁面的url和數(shù)據(jù),這里可以使用等待,并設(shè)置一些條件,確保新頁面加載完成再進(jìn)行操作,代碼如下:

from selenium.webdriver.support.ui import WebDriverWait# 等待新頁面生成WebDriverWait(self.browser, 5).until( expected_conditions.presence_of_element_located((By.ID, 'username') )

標(biāo)簽: Python 編程
主站蜘蛛池模板: 91国内精品久久久久影院优播 | 能直接看的一级欧美毛片 | 一级一级特黄女人精品毛片 | 俄罗斯aaaa一级毛片 | 老司机亚洲精品 | 成人午夜在线观看国产 | 欧美一级片 在线播放 | 亚洲精品毛片久久久久久久 | 国产黄a三级三级看三级 | 免费日韩在线视频 | 美女扒开腿让男生桶爽网站 | 欧美成年免费a级 | 成人网18免费软件 | 国产成人毛片 | 韩国美女豪爽一级毛片 | 97在线观看免费版 | 狠狠色综合久久丁香婷婷 | 黄色三级三级三级 | 亚洲午夜网 | 可以看的毛片网站 | 日韩专区亚洲精品欧美专区 | 黄色在线视频网 | 亚洲欧美日韩国产精品久久 | 免费观看a级毛片在线播放 免费观看a级网站 | 一级做a爰片性色毛片视频图片 | 国产黄色a三级三级三级 | 日本wwxx色视频 | 亚洲精品美女在线观看播放 | 精品国产91久久久久久久 | 日本一区二区三区在线 视频观看免费 | 三级黄色免费看 | 久久久久国产精品免费网站 | 99久久精品国产免费 | 免费在线亚洲视频 | 在线成人播放毛片 | 成人欧美日韩视频一区 | 久久免费99精品久久久久久 | 久久精品国产400部免费看 | 亚洲人成综合网站在线 | 亚洲精品免费网站 | 国产精品视频免费观看调教网 |