Selenium笔记 原理分析及其使用之一 webdriver

来源:互联网 发布:鸡鸣狗吠,兄嫂当知之 编辑:程序博客网 时间:2024/05/21 08:04

关于Selenium的原理分析,网上很多,推荐下面的博客

http://blog.csdn.net/ant_ren/article/details/7970793

在此不多描述。

下面基于Selenium 3.3.1, 分析下API,

在文件下common/exception.py定义了webdriver 的异常类型,继承于内置类Exception,后面的大多继承于此类:

class WebDriverException(Exception):    def __init__(self, msg=None, screen=None, stacktrace=None):    def __str__(self):class ErrorInResponseException(WebDriverException):class InvalidSwitchToTargetException(WebDriverException):class NoSuchFrameException(InvalidSwitchToTargetException):
.....................................

重点类WebDriver实现在webdriver/remote/webdriver.py中实现, 但我们一般不直接用这个,用的是具体浏览器继承它的类。

里面经常用到的方法:

打开网页:

    def get(self, url):        """        Loads a web page in the current browser session.        """        self.execute(Command.GET, {'url': url})

执行命令:

def execute(self, driver_command, params=None):

找element: find_element.....

查看request返回值,如果是ELEMENT,就创建一个webelement实例,并返回.

我比较喜欢的是:

def find_element(self, by=By.ID, value=None):

比如find_element(“xpath”, "actual xpath")

对window的操作:

对cookies:的操作:

screenshot操作:

各浏览器的WebDriver类在webdriver/chrome(各浏览器名字)/webdriver.py下:

class WebDriver(RemoteWebDriver):    def __init__(self, executable_path=    def launch_app(self, id):    def quit(self):    def create_options(self):

原创粉丝点击