2016-01-13 99 views
0

要求:需要打開兩個Chrome實例,一個處於正常模式,另一個處於隱身模式。加載相同的URL可以說在兩個實例上都是facebook.com。並嘗試使用不同的憑據登錄。Selenium webdriver打開多個Chrome實例

我可以在普通模式和隱身模式下打開兩個實例,但是在設置值時,它會寫入同一頁面。下面是代碼:

MyTest的腳本:

#calling the driver 
self.driverObj1 = WebAction().get_private_browser_driver(browser) 
self.driverObj2 = WebAction().get_browser_driver(browser) 


#Opening the browser and load the URL 
WebAction().explicit_load_url_in_browser(self.driverObj1, self.url, self.elementforwait) 
WebAction().explicit_load_url_in_browser(self.driverObj2, self.url,self.elementforwait) 

#Locating the User Input 
page1_loginuser = WebModel().get_element_by_xpath(self.driverObj1, self.inputxpath['logintext']) 
page1_loginpass = WebModel().get_element_by_xpath(self.driverObj1, self.inputxpath['loginpass']) 
page1_loginbutton = WebModel().get_element_by_xpath(self.driverObj1, self.inputxpath['loginbutton']) 

page2_loginuser = WebModel().get_element_by_xpath(self.driverObj1, self.inputxpath['logintext']) 
page2_loginpass = WebModel().get_element_by_xpath(self.driverObj1, self.inputxpath['loginpass']) 
page2_loginbutton = WebModel().get_element_by_xpath(self.driverObj1, self.inputxpath['loginbutton']) 

#filling the details and click on button 
page1_loginuser.send_keys(self.logininput1['username']) 
page1_loginpass.send_keys(self.logininput1['pass']) 
page1_loginbutton.click() 

page2_loginuser.send_keys(self.logininput2['username']) 
page2_loginpass.send_keys(self.logininput2['pass']) 
page2_loginbutton.click() 


My class WebModel has two methods 
# Method - to get chrome driver 
def get_chrome_driver(self): 
    path_of_driver = self.get_chrome_driver_path() 
    self.chromeDriver = webdriver.Chrome(path_of_driver)  
    return self.chromeDriver 

# Method - to get chrome incognito 
def get_private_chrome_driver(self): 
    path_of_driver = self.get_chrome_driver_path() 
    chrome_option = webdriver.ChromeOptions() 
    chrome_option.add_argument("--incognito") 
    self.chromeDriver = webdriver.Chrome(path_of_driver, chrome_options=chrome_option) 
    return self.chromeDriver 

class WebAction has two methods 

def get_browser_driver(self, browserName): 
    try: 
     if browserName == 'chrome': 
      self.browserDriver = self.webmodelObj.get_chrome_driver() 

     elif browserName == 'firefox': 
      self.browserDriver = self.webmodelObj.get_firfox_driver() 
     elif browserName == 'ie': 
      self.browserDriver = self.webmodelObj.get_ie_driver() 
     else: 
      self.browserDriver = self.webmodelObj.get_safari_driver() 

     return self.browserDriver 
    except: 
     print "FAIL: UNABLE TO CONNECT WITH %s"%browserName 
     return False 

def get_private_browser_driver(self,browserName): 
    self.browserDriver = False 
    try: 
     if browserName == 'chrome': 
      self.browserDriver = self.webmodelObj.get_private_chrome_driver() 

     return self.browserDriver 
    except: 
     print "Fail: Unable to Connect with %s" %(browserName)  
     return self.browserDriver 

回答

0
#Locating the User Input  
page2_loginuser = WebModel().get_element_by_xpath(self.driverObj1, self.inputxpath['logintext']) 
page2_loginpass = WebModel().get_element_by_xpath(self.driverObj1, self.inputxpath['loginpass']) 
page2_loginbutton = WebModel().get_element_by_xpath(self.driverObj1, self.inputxpath['loginbutton']) 

您正在使用self.driverObj1找到page2_login元素。

+0

男人,謝謝...我的壞 – rocky

相關問題