Fish钩 发表于 2023-11-26 13:47:31

使用selenium如何上传本地图片?

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

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

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

先感谢大佬{:5_110:}

FishC_GPT 发表于 2023-11-26 13:47:47

使用Selenium上传本地图片可以通过模拟点击上传按钮或者直接传入图片路径实现。以下是两种方法的代码示例:

1. 模拟点击上传按钮:

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains

# 初始化浏览器
driver = webdriver.Chrome()

# 打开网页
driver.get("http://example.com")

# 定位上传按钮
upload_button = driver.find_element_by_xpath("//*/div/div/div/div/div/input")

# 点击上传按钮
ActionChains(driver).click(upload_button).perform()

# 选择文件
driver.switch_to.alert.send_keys("C:/path/to/image.jpg")# 替换为你的图片路径

# 处理后续操作,比如提交表单等
# ...

# 关闭浏览器
driver.quit()

2. 直接传入图片路径:

from selenium import webdriver

# 初始化浏览器
driver = webdriver.Chrome()

# 打开网页
driver.get("http://example.com")

# 定位上传框
upload_input = driver.find_element_by_xpath("//*/div/div/div/div/div/input")

# 传入图片路径
upload_input.send_keys("C:/path/to/image.jpg")# 替换为你的图片路径

# 处理后续操作,比如提交表单等
# ...

# 关闭浏览器
driver.quit()

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

以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: 使用selenium如何上传本地图片?