一、打开网址
方法说明:webdriver.Firefox()用于创建一个火狐浏览器的webdriver
driver.get(url)用户打开固定的网址
实例如下:
1
2
3
|
self .driver = webdriver.Firefox(executable_path = 'D:\\python+Selenium\\geckodriver.exe' ) self .url = u "https://www.baidu.com" self .driver.get( self .url) |
二、最大化浏览器、设置浏览器大小
方法说明:driver.maximize_window()用于最大化浏览器
driver.set_window_size()用于设置浏览器的大小,以像素为单位
实例如下:
1
2
|
self .driver.maximize_window() self .driver.set_window_size( 480 , 800 ) |
三、浏览器前进、后退
方法说明:driver.back()用于浏览器后退操作
driver.forward()用于浏览器前进操作
1
2
3
4
5
6
7
8
9
10
11
12
|
def setUp( self ): self .driver = webdriver.Firefox(executable_path = 'D:\\python+Selenium\\geckodriver.exe' ) self .url = u "https://www.baidu.com" self .driver.get( self .url) def testBrowser( self ): second_url = "http://news.baidu.com/" self .driver.get(second_url) sleep( 5 ) self .driver.back(); sleep( 5 ) self .driver.forward() sleep( 5 ) |
四、浏览器句柄切换
方法说明:current_window_handle:获得当前窗口句柄
window_handles:返回所有窗口的句柄到当前对话
switch_to.window(窗口句柄):切换到对应的窗口
实例如下:
nowhandle=driver.current_window_handle driver.find_element_by_name("tj_trnews").click() time.sleep(3) #由于百度新闻窗口打开,所以要指向新窗口,即百度新闻窗口 allhandles=driver.window_handles for handle in allhandles: if(handle!=nowhandle): driver.switch_to.window(handle)
五、综合用例
打开百度首页,点击新闻之后回退到主页,再点击hao123再回主页,再点击地图再回主页、再点击视频再回主页、再点击贴吧再回主页、再点击学术再回主页
1
2
3
4
5
6
7
8
9
10
11
12
|
def testBackForword( self ): elements = self .driver.find_elements_by_class_name( "mnav" ) elementSize = len (elements) print (elementSize) for num in range ( 0 ,elementSize - 1 ): elements = self .driver.find_elements_by_class_name( "mnav" ) name = elements[num] .get_attribute( 'name' ) print (name) elements[num] .click() sleep( 2 ) self .driver.back() sleep( 2 ) |