使用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來判斷 例項 開啟了新的視窗 多視窗處理 訪問火狐主頁,之後再新視窗訪問微博 多視窗...