微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

selenium浏览器操作篇:浏览器的打开与窗口大小

我们知道,通过实例化一个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,且认为当前窗口




版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐