亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

網(wǎng)頁(yè)爬蟲(chóng) - Python+Selenium+PhantomJs爬蟲(chóng),如何取得新打開(kāi)頁(yè)面的源碼?

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

問(wèn)題描述

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

問(wèn)題解答

回答1:

如果鏈接打開(kāi)了一個(gè)新標(biāo)簽頁(yè)的話,你的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)簽頁(yè),那么window_handles就保存了對(duì)應(yīng)這幾個(gè)標(biāo)簽頁(yè)對(duì)應(yīng)的實(shí)例對(duì)象,所以如果你當(dāng)前只打開(kāi)了一個(gè)網(wǎng)頁(yè),那么你新打開(kāi)的頁(yè)面就是 window_handles[1]轉(zhuǎn)換到那個(gè)頁(yè)面后,再獲取源碼。

回答2:

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

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

標(biāo)簽: Python 編程
主站蜘蛛池模板: 国产精品久久视频 | 六月婷婷色 | 国内精自视频品线六区免费 | 国产在线麻豆精品观看 | 农村寡妇一级毛片免费看视频 | 日本xxxwwxxx免费视频 | 国产精品久久久久久久小唯西川 | 国产精品拍拍拍福利在线观看 | 综合国产在线 | 婷婷六月丁香午夜爱爱 | 久久精品国产99精品国产2021 | 国产一级爱片在线播放 | 在线观看黄网视频免费播放 | 日韩福利视频一区 | free性欧美chinese乱子 | 一级免费片 | 日本亚洲中午字幕乱码 | 男人你懂的在线观看视频 | 国产精品色综合久久 | 女人被狂躁视频免费网站 | 在线视频 一区二区 | 亚洲欧美小说色综合小 | 国产成人91 | 国产黄色免费在线观看 | 久草资源在线播放 | 精品99一区二区三区麻豆 | 久久99九九精品免费 | 亚洲精品视频免费观看 | 嫩草网站永久入口 | 国产美女久久久亚洲 | 狠狠色噜噜狠狠狠狠888奇米 | 婷婷色人阁 | 欧美大片aaa | 亚洲成本人网亚洲视频大全 | 国产产一区二区三区久久毛片国语 | 黄色视屏免费看 | 精品自拍视频在线观看 | 精品国产福利 | 国产91调教 | 91蝌蚪在线视频 | 国产成人一区二区三区视频免费 |