如何在selenium中使用python webdriver从csv文件调用多个数据

时间:2012-09-14 11:11:30

标签: python selenium-webdriver

我在单一登录凭据中使用代码。我需要使用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=['senthil@gmail.com','senthil@gmail.com']
        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)

1 个答案:

答案 0 :(得分:2)

我找到了解决方案。你需要创建文件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)