2012-09-14 29 views
1

我正在使用單一登錄憑據中的代碼。我需要使用python webdriver使用多個登錄憑據。請指導我一些如何在下面的代碼中調用csv文件(多個登錄憑據)。如何在硒中使用python webdriver從csv文件中調用多個數據

from selenium import webdriver 
from selenium.webdriver.common.by import By 
from selenium.webdriver.support.ui import Select 
from selenium.common.exceptions import NoSuchElementException 
import unittest, time, re 

class Browse(unittest.TestCase): 
    def setUp(self): 
     self.driver = webdriver.Firefox() 
     self.driver.implicitly_wait(30) 
     self.base_url = "http://careergrab.ionface.com/" 
     self.username=['[email protected]','[email protected]'] 
     self.password=['12345','12345'] 
     self.verificationErrors = [] 

    def test_browse(self): 
     driver = self.driver 
     driver.get(self.base_url + "/") 
     driver.find_element_by_css_selector("img[alt=\"img\"]").click() 
     driver.find_element_by_link_text("Career Grab").click() 
     driver.find_element_by_class_name("browse").click() 
     driver.find_element_by_id("id_identification").clear() 
     driver.find_element_by_id("id_identification").send_keys(self.username) 
     for index in range(len(self.password)): 
     driver.find_element_by_id("id_password").clear() 
     driver.set_page_load_timeout 
     driver.find_element_by_id("id_password").send_keys(self.password) 
     driver.find_element_by_css_selector("input.login-button").click() 

    def is_element_present(self, how, what): 
     try: self.driver.find_element(by=how, value=what) 
     except NoSuchElementException, e: return False 
     return True 

    def tearDown(self): 
     self.driver.quit() 
     self.assertEqual([], self.verificationErrors) 
+0

問題是什麼?什麼不行? – Junuxx

+0

@ Kv.senthilkumar您是否找到了解決方案?謝謝 – AndreS

回答

1

我找到了解決方案。你需要創建文件test.csv。複製並粘貼以下代碼。它爲我工作。閱讀代碼以便更好地理解:)

from selenium import webdriver 
    from selenium.webdriver.common.by import By 
    from selenium.webdriver.support.ui import Select 
    from selenium.common.exceptions import NoSuchElementException 
    import unittest, time, re 

    class Browse(unittest.TestCase): 
    def setUp(self): 
    self.driver = webdriver.Firefox() 
    self.driver.implicitly_wait(30) 
    self.base_url = "http://careergrab.ionface.com/" 

    filename = 'test.csv' 
    line_number = 1 
    with open(filename, 'rb') as f: 
     mycsv = csv.reader(f) 
     mycsv = list(mycsv) 
     self.username=mycsv[line_number][0] 
     self.password=mycsv[line_number][1] 
     self.verificationErrors = [] 

def test_browse(self): 
    driver = self.driver 
    driver.get(self.base_url + "/") 
    driver.find_element_by_css_selector("img[alt=\"img\"]").click() 
    driver.find_element_by_link_text("Career Grab").click() 
    driver.find_element_by_class_name("browse").click() 
    driver.find_element_by_id("id_identification").clear() 
    driver.find_element_by_id("id_identification").send_keys(self.username) 
    for index in range(len(self.password)): 
    driver.find_element_by_id("id_password").clear() 
    driver.set_page_load_timeout 
    driver.find_element_by_id("id_password").send_keys(self.password) 
    driver.find_element_by_css_selector("input.login-button").click() 

def is_element_present(self, how, what): 
    try: self.driver.find_element(by=how, value=what) 
    except NoSuchElementException, e: return False 
    return True 

def tearDown(self): 
    self.driver.quit() 
    self.assertEqual([], self.verificationErrors) 
+0

感謝您的回答。我們可以像這樣使用相同的,然後我們可以使用xlrd模塊的python綁定。這是非常容易使用 –

相關問題