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
男人,謝謝...我的壞 – rocky