Selenium webdriver常用属性和方法

Posted

tags:

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

参考技术A 属性                                                       属性描述

driver.name                                          浏览器名称

driver.current_url                                  当前url

driver.title                                              当前页面标题

driver.page_source                               当前页面源码

driver.current_window_handle              窗口句柄

driver.window_handles                          当前窗口所有句柄

方法                                                              方法描述

driver.back()                                                浏览器后退

driver.forward()                                            浏览器前进

driver.refresh()                                             浏览器刷新

driver.close()                                                关闭当前窗口

driver.quit()                                                   退出浏览器

driver.switch_to.frame()                                切换到frame

driver.switch_to.alert()                                  切换到alert

driver.switch_to.active_element()                 切换到活动元素

源码:

from seleniumimport webdriver

from timeimport sleep

class Testcase(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)#网页的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()#前进

        self.driver.close()#只关闭当前tab

        self.driver.quit()#关闭浏览器

    def test_windows(self):

self.driver.find_element_by_link_text('新闻').click()

windows =self.driver.window_handles

while 1:

for win windows:

self.driver.switch_to.window(w)

sleep(2)

if __name__ =='__main__':

case = Testcase()

#case.test_prop()

#case.test_method()

    case.test_windows()

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与页面交互之一:webdriver浏览器的属性

selenium-3:定位元素

Selenium中WebDriver API的使用

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

Python Selenium Webdriver常用方法总结