• 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)
    

      

     

  • 相关阅读:
    【poj2478-Farey Sequence】递推求欧拉函数-欧拉函数的几个性质和推论
    【poj1284-Primitive Roots】欧拉函数-奇素数的原根个数
    【hdu2815-Mod Tree】高次同余方程-拓展BadyStepGaintStep
    【poj3243-Clever Y】高次同余方程-拓展BabyStepGiantStep
    数论之高次同余方程(Baby Step Giant Step + 拓展BSGS)
    POJ1094-Sorting It All Out
    POJ-2299 Ultra-QuickSort
    NYOJ542-试制品
    POJ1936-All in All
    POJ3080-Blue Jeans
  • 原文地址:https://www.cnblogs.com/xmmc/p/7899214.html
Copyright © 2020-2023  润新知