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

xiaoxiao2021-02-27  187

关于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):

转载请注明原文地址: https://www.6miu.com/read-13459.html

最新回复(0)