-1

画像パスを .CSV ファイルに保存し、それを読み取って画像をアップロードしようとしていますcsv.reader

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://google.com/"

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

    def test_browse(self):
        driver = self.driver
        driver.get(self.base_url + "/")
        driver.find_elements_by_xpath("//div[@class='addmore']/form/input[3]").send_keys(self.photo)#here is where I am trying to input the photo

CSV ファイル内

私は次のような列を持っています

|__________photo__________|
|   /path to the image/   |

それで、これは機能しますか?私は試した。しかし、私は失敗しました。

4

1 に答える 1

0

パス、ユーザー名、データベースなどにcsvファイルを使用することに問題はありません...それらを編集する場所が1つあります。ファイルのアップロード send_keys を設定する限り、私にとってはうまくいきます。

def set_resume_path(self, resume_path):
    '''
    Sets the path to the resume file.
    '''
    script = 'jQuery("#upload-resume-form").css({"visibility": "visible"})'
    self.driver.execute_script(script)
    WebDriverWait(self.driver, 2).until(lambda driver: driver.find_element_by_id\
                                        (self.locators['choose file button']).is_displayed())
    self.driver.find_element_by_id(self.locators['resume path input']).send_keys(resume_path)
    return self
于 2013-10-07T18:42:06.583 に答える