如何在Python中使用Selenium从子文件夹上传文件



有人可以告诉我在这里修改什么,以便我可以上传的文件可以从子文件夹上传吗?目前,这些文件存储在与python脚本相同的文件夹中。

此脚本可帮助我自动执行向网站添加广告的过程。这是从json文件上传图像文件的部分(photofiles是config.json中的一个数组)。我想将照片存储在子文件夹中。

# Upload images
fileup = driver.find_element_by_xpath("//input[@type='file']")
for path in photofiles:
uploaded_count = len(driver.find_elements_by_class_name("imagebox-thumbnail"))
fileup.send_keys(os.path.abspath(path))
total_upload_time = 0
while uploaded_count == len(driver.find_elements_by_class_name("imagebox-thumbnail")) and 
total_upload_time < 30:
time.sleep(0.5)
total_upload_time += 0.5
log.debug("Uploaded file in %s seconds." % total_upload_time)

只需修改照片文件列表应该非常简单。假设您的代码创建了一个文件列表并将其存储为"photofiles",您只需要将所需文件夹中所有需要的路径附加到该文件中。

有多种方法可以遍历文件夹,例如,获取具有特定扩展名的所有文件(请参阅在 Python 中查找扩展名为 .txt 的目录中的所有文件)。您可以从所需文件夹中具有某些扩展名的所有文件构建"照片文件"列表。

您正在上传的文件可以轻松地从子文件夹上传。

>>> import os 
>>> print(os.getcwd())
C:Python32 
>>> os.chdir('/test') 
>>> print(os.getcwd()) 
C:test

只需使用 os.getcwd()和os.getcwd()输入sub-dir

就是这样。我想现在,您将自己在脚本中实现上述代码片段。

顺便说一句, 我建议您访问 Python 文件。

最新更新