selenium的webDriver核心属性和方法

Posted 永远不要矫情

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了selenium的webDriver核心属性和方法相关的知识,希望对你有一定的参考价值。

1.核心属性
常用属性如下所示:在这里插入图片描述
代码如下:

from selenium import webdriver
from time import sleep


class TestCase01(object):
    def __init__(self):
        self.driver = webdriver.Chrome()
        self.driver.get('http://www.baidu.com')
        self.driver.maximize_window()
    def test_prop(self):
        print(self.driver.name)# 浏览器名称
        print(self.driver.current_url) # url
        print(self.driver.title)
        print(self.driver.window_handles) #可根据句柄来切换窗口
        print(self.driver.page_source) #页面源码
        self.driver.quit()
if __name__ == '__main__':
    case = TestCase01()
     case.test_prop() 

运行的结果如下:由于只打开了一个窗口,所以只有一个句柄
在这里插入图片描述

2.核心方法
核心方法如下所示:
在这里插入图片描述
代码如下:

from selenium import webdriver
from time import sleep


class TestCase02(object):
    def __init__(self):
        self.driver = webdriver.Chrome()
        self.driver.get('http://www.baidu.com')
        self.driver.maximize_window()
    def test_prop(self):
        print(self.driver.name)# 浏览器名称
        print(self.driver.current_url) # url
        print(self.driver.title)
        print(self.driver.window_handles)
        print(self.driver.page_source)
        self.driver.quit()

    def test_method(self):
        self.driver.find_element_by_id('kw').send_keys('selenium')
        self.driver.find_element_by_id('su').click()
        sleep(2)
        self.driver.back() #显示的页面为百度一下
        sleep(2)
        self.driver.refresh()#对页面进行刷新
        sleep(2)
        self.driver.forward()#返回到查询selenium的页面

        self.driver.close() # 只关闭当前tab
        self.driver.quit() # 关闭浏览器

if __name__ == '__main__':
    case = TestCase02()
    # case.test_prop()
    case.test_method()

3.使用句柄实现窗口的来回切换
代码实现中是打开了两个页面,使用switch_to.window方法实现窗口的切换

from selenium import webdriver
from time import sleep


class TestCase03(object):
    def __init__(self):
        self.driver = webdriver.Chrome()
        self.driver.get('http://www.baidu.com')
        self.driver.maximize_window()

    def test_windows(self): #窗口的来回切换
        self.driver.find_element_by_link_text('新闻').click()
        windows = self.driver.window_handles

        while 1:
            for w in windows:
                self.driver.switch_to.window(w)
                sleep(2)
                
if __name__ == '__main__':
    case = TestCase03()
    case.test_windows()

以上是关于selenium的webDriver核心属性和方法的主要内容,如果未能解决你的问题,请参考以下文章

python+selenium:浏览器webdriver操作--基本对象定位

selenium-3:定位元素

Selenium webdriver常用属性和方法

selenium学习笔记webdriver进行页面元素定位

selenium + webdriver(python)

轻松自动化---selenium-webdriver(python)