鱼C论坛

 找回密码
 立即注册
查看: 3132|回复: 1

[已解决]使用selenium如何上传本地图片?

[复制链接]
发表于 2023-11-26 13:47:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
如何不使用模拟鼠标就能上传本地图片呢?因为我要多开,如果要模拟点击会造成混乱的局面

这个框可以点击上传图片,也可以把图片拖拽进来

这个框的的点击元素XPATH是://*[@id="ark"]/div/div[1]/div[2]/div[1]/div/input

先感谢大佬
最佳答案
2023-11-26 13:47:47
使用Selenium上传本地图片可以通过模拟点击上传按钮或者直接传入图片路径实现。以下是两种方法的代码示例:

1. 模拟点击上传按钮:
  1. from selenium import webdriver
  2. from selenium.webdriver.common.action_chains import ActionChains
  3. # 初始化浏览器
  4. driver = webdriver.Chrome()
  5. # 打开网页
  6. driver.get("http://example.com")
  7. # 定位上传按钮
  8. upload_button = driver.find_element_by_xpath("//*/div/div/div/div/div/input")
  9. # 点击上传按钮
  10. ActionChains(driver).click(upload_button).perform()
  11. # 选择文件
  12. driver.switch_to.alert.send_keys("C:/path/to/image.jpg")  # 替换为你的图片路径
  13. # 处理后续操作,比如提交表单等
  14. # ...
  15. # 关闭浏览器
  16. driver.quit()
复制代码

2. 直接传入图片路径:
  1. from selenium import webdriver
  2. # 初始化浏览器
  3. driver = webdriver.Chrome()
  4. # 打开网页
  5. driver.get("http://example.com")
  6. # 定位上传框
  7. upload_input = driver.find_element_by_xpath("//*/div/div/div/div/div/input")
  8. # 传入图片路径
  9. upload_input.send_keys("C:/path/to/image.jpg")  # 替换为你的图片路径
  10. # 处理后续操作,比如提交表单等
  11. # ...
  12. # 关闭浏览器
  13. driver.quit()
复制代码

注意:第二种方法可能因为网页的限制而无法使用,具体情况要根据实际网页的设计来确定。

以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。

图1

图1
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-11-26 13:47:47 | 显示全部楼层    本楼为最佳答案   
使用Selenium上传本地图片可以通过模拟点击上传按钮或者直接传入图片路径实现。以下是两种方法的代码示例:

1. 模拟点击上传按钮:
  1. from selenium import webdriver
  2. from selenium.webdriver.common.action_chains import ActionChains
  3. # 初始化浏览器
  4. driver = webdriver.Chrome()
  5. # 打开网页
  6. driver.get("http://example.com")
  7. # 定位上传按钮
  8. upload_button = driver.find_element_by_xpath("//*/div/div/div/div/div/input")
  9. # 点击上传按钮
  10. ActionChains(driver).click(upload_button).perform()
  11. # 选择文件
  12. driver.switch_to.alert.send_keys("C:/path/to/image.jpg")  # 替换为你的图片路径
  13. # 处理后续操作,比如提交表单等
  14. # ...
  15. # 关闭浏览器
  16. driver.quit()
复制代码

2. 直接传入图片路径:
  1. from selenium import webdriver
  2. # 初始化浏览器
  3. driver = webdriver.Chrome()
  4. # 打开网页
  5. driver.get("http://example.com")
  6. # 定位上传框
  7. upload_input = driver.find_element_by_xpath("//*/div/div/div/div/div/input")
  8. # 传入图片路径
  9. upload_input.send_keys("C:/path/to/image.jpg")  # 替换为你的图片路径
  10. # 处理后续操作,比如提交表单等
  11. # ...
  12. # 关闭浏览器
  13. driver.quit()
复制代码

注意:第二种方法可能因为网页的限制而无法使用,具体情况要根据实际网页的设计来确定。

以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-24 09:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表