<p>这里有一个例子,在我的具体情况下,上传多张照片,可能会帮助某人。。。在</p>
<p><code>Photos</code>是一个字符串数组,即<code>['/Users/foo/bar/beautiful_forest-1546653.jpg', '/Users/foo/bar/DTHalloween.jpg']</code>,然后我循环并通过<code>send_keys</code>上传它们。我通过检查DOM中是否存在上载的文件名来确保它们被上载,如果成功的话就会这样(具体到我的情况)。FWIW,我正在测试一个<code>react.js</code>网络应用</p>
<pre><code>def uploadPhoto(self, photos):
try:
drop_zone = self.driver.find_element_by_id('photo-file-input')
alreadyUploaded = [] # keep track of uploaded files
for photo in photos:
photo_name = photo.split('/')[-1].split('.')[0]
if photo_name.lower() in alreadyUploaded:
print("Photo already uploaded with name: ( "+ photo_name.lower()+" )")
continue
alreadyUploaded.append(photo_name.lower())
drop_zone.send_keys(photo)
try:
WebDriverWait(self.driver, 5).until(
EC.presence_of_element_located((By.XPATH, '//img[contains(@data-galleryid, '+ photo_name +')]'))
)
except Exception, e:
raise Exception(e)
return True
except Exception, e:
print 'Failed to upload photo {}'.format(str(e))
return False
</code></pre>