我們知道,通過實例化一個WebDriver,基於WebDriver wire協議通過遠程server就可以實現瀏覽器的操作。
今天要說的就是瀏覽器最基本的操作(基於python):瀏覽器打開與窗口大小控制。
1、打開瀏覽器
在python中,使用selenium需先導入webdriver,然后實例化WebDriver類。
導入:from selenium import webdriver
實例化WebDriver類:webdriver.Firefox()
如下圖代碼所示:
from selenium import webdriver driver = webdriver.Firefox()
這樣,我們就可以打開Firefox瀏覽器了。
2、打開網址
打開瀏覽器后,WebDriver實例對象調用get()方法並輸入url值即可打開指定url
如driver.get('https://www.baidu.com)
如下圖:
from selenium import webdriver driver = webdriver.Firefox() driver.get("https://www.baidu.com")
這樣我們就打開了百度首頁
3、最大化和最小化瀏覽器
WebDriver實例對象調用maximize_window()即可將瀏覽器最大化,瀏覽器最小化用minimize_window()
from selenium import webdriver driver = webdriver.Firefox() driver.get("https://www.baidu.com") driver.maximize_window()
driver.minimize_window()
這樣我們就可以將瀏覽器窗口最大化和最小化了。
4、按尺寸打開瀏覽器
如果想按照一定的尺寸大小打開瀏覽器,則使用set_window_size()方法將瀏覽器設置一個指定大小
from selenium import webdriver driver = webdriver.Firefox() driver.get("https://www.baidu.com") driver.minimize_window() driver.maximize_window() driver.set_window_size(100, 50)
我們來看看set_window_size()這個方法:
def set_window_size(self, width, height, windowHandle='current'): """ Sets the width and height of the current window. (window.resizeTo) :Args: - width: the width in pixels to set the window to - height: the height in pixels to set the window to :Usage: driver.set_window_size(800,600) """ if self.w3c: if windowHandle != 'current': warnings.warn("Only 'current' window is supported for W3C compatibile browsers.") self.set_window_rect(width=int(width), height=int(height)) else: self.execute(Command.SET_WINDOW_SIZE, { 'width': int(width), 'height': int(height), 'windowHandle': windowHandle})
此方法有三個參數:width,height,以及windowHandle
width:瀏覽器的寬度像素點
height:瀏覽器的高度像素點
windowHandle:瀏覽器窗口句柄,默認當前窗口,如果需要指定窗口,則傳入該窗口handle即可。
5、獲取窗口尺寸大小
若想獲得瀏覽器窗口尺寸大小,可使用get_window_size()方法。
from selenium import webdriver driver = webdriver.Firefox() driver.get("https://www.baidu.com") driver.minimize_window() driver.maximize_window() size = driver.get_window_size()
get_window_size()方法返回值類型為字典
{'width': 1295, 'height': 695}
<class 'dict'>
我們可以看到,該字典有兩個鍵值對,分別對應width(寬)和高(height)
我們再來看看get_window_size()這個方法:
def get_window_size(self, windowHandle='current'): """ Gets the width and height of the current window. :Usage: driver.get_window_size() """ command = Command.GET_WINDOW_SIZE if self.w3c: if windowHandle != 'current': warnings.warn("Only 'current' window is supported for W3C compatibile browsers.") size = self.get_window_rect() else: size = self.execute(command, {'windowHandle': windowHandle}) if size.get('value', None) is not None: size = size['value'] return {k: size[k] for k in ('width', 'height')}
該方法只有一個參數:windowHandle,且默認為當前窗口
