Python_Selenium操作Firefox瀏覽器


一、打開網址

方法說明:webdriver.Firefox()用於創建一個火狐瀏覽器的webdriver

                 driver.get(url)用戶打開固定的網址

實例如下:

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()用於設置瀏覽器的大小,以像素為單位

實例如下:

self.driver.maximize_window()  
self.driver.set_window_size(480, 800)    

三、瀏覽器前進、后退

方法說明:driver.back()用於瀏覽器后退操作

                 driver.forward()用於瀏覽器前進操作

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再回主頁,再點擊地圖再回主頁、再點擊視頻再回主頁、再點擊貼吧再回主頁、再點擊學術再回主頁

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)

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM