使用selenium進行多視窗處理demo

2021-08-30 15:33:21 字數 1286 閱讀 7259

使用selenium需要啟動瀏覽器,當然必要的環境肯定要支援啦,做爬蟲效率也沒有框架來的快,但是我喜歡啊(調皮)

這是乙個可以進行多視窗抓取的demo,可以根據自己的需求進行更改

from selenium import webdriver

from selenium.webdriver.common.by import by

# webdriverwait 庫,負責迴圈等待

from selenium.webdriver.support.ui import webdriverwait

# expected_conditions 類,負責條件出發

from selenium.webdriver.support import expected_conditions as ec

from lxml import etree

import time

class logouspider():

def __init__(self):

self.driver = webdriver.chrome()

self.url = ''

def run(self):

self.driver.get(self.url)

url = ''

source = self.parse_detail(url)

def parse_detail(self, url):

self.driver.execute_script('window.open("%s")' % url)

self.driver.switch_to.window(self.driver.window_handles[1])

#等待頁面元素載入,不能是文字資訊

webdriverwait(self.driver, timeout=10).until(

ec.presence_of_element_located((by.xpath, '//*[@id="usrbar"]'))

)# 處理詳細

source = self.driver.page_source

time.sleep(1)

# 關閉當前視窗

self.driver.close()

# 切換回原來視窗

self.driver.switch_to.window(self.driver.window_handles[0])

if __name__ == '__main__':

p = logouspider()

p.run()

selenium多視窗切換

在編寫自動化用例時,偶爾會有兩個以上的開啟視窗,那麼就來看看下面的多視窗切換吧!多視窗切換 now handle driver.current window handle 獲取當前視窗控制代碼 all handle driver.window handles 獲取所有視窗控制代碼 for handl...

selenium多視窗切換

有時候需要在不同的視窗切換,從而操作不同的視窗上的元素。在 selenium1.0 中這個問題比較難處理。但 webdriver 提供了switch to window 方法可以切換到任意的視窗。driver.find element by link text u 登入 click driver.f...

Selenium 多視窗處理

彈出新的視窗,該如何處理 1.獲取當前視窗控制代碼 2.元素的操作,開啟新的視窗 3.獲取所有視窗控制代碼 4.for迴圈遍歷所有視窗,定位到需要操作的視窗上 和你當前控制代碼不一樣的就說明是新的,通過列印title來判斷 例項 開啟了新的視窗 多視窗處理 訪問火狐主頁,之後再新視窗訪問微博 多視窗...