【Python + selenium】在瀏覽器打開新頁籤,打開方式
2017年09月06日 11:34:25 宇風-飛揚 閱讀數:3472 標籤: seleniumpython句柄移動 更多
個人分類: python
版權聲明:希望與廣大Python愛好者,可以相互交流,歡迎留言!歡迎轉載(請註明出處) https://blog.csdn.net/EB_NUM/article/details/77864470
很過新接觸selenium ,在爬取網頁時,在新打開頁面,總是抓取不到頁面內容
原因如下:
- 打開鏈接,時間停留過短,網頁還沒打開,這是後你抓取網頁內容,肯定是取不到的,一般可以利用driver.implicitly_wait(7) 設置智能等待。
- 如果是新打開的頁籤,這個時候一定要先移動句柄,再抓取網頁內容
- 如果是當前頁面,不能抓取內容,記得檢查源碼, 看看所需抓取內容是否是在ifream中的,如果在ifream中的,記得先找到ifream,在獲取ifream中內容,例如
iframe= driver.find_element_by_xpath(".//*[@id='container']/div[4]/iframe")
driver.switch_to_frame(iframe)
- 1
- 2
- 可能有些剛接觸selenium的同學 ,不知道如何打開一個新頁籤,下邊我就給個事例:
driver = webdriver.Firefox()
#我們先打開一個網頁
driver.get("https://www.zhipin.com/user/login.html")
#瀏覽器 新窗口打開連接
newwindow = 'window.open("https://www.baidu.com")'
driver.execute_script(newwindow)
#移動句柄,對新打開頁面進行操作
driver.switch_to_window(driver.window_handles[1])
#具體操作
driver.find_element_by_xpath("")
#關閉該新打開的頁面
driver.close()
#不關閉,要移動到上一個頁面,我們要移動句柄
driver.switch_to_window(driver.window_handles[0])