尝试使用 Selenium 发布 image/video 推文时出现问题

Issue trying to tweet an image/video using Selenium

我正在尝试使用 Selenium、Chromedriver 和 Python 制作一个 Twitter 机器人。目前我可以登录并访问我的时间线,但我不知道如何发推 image/video。我可以完美地发布推文文本,但无法为 image/video.

这样做

我当前的代码是:

driver.get(WEBSITE)
element = wait.until(EC.visibility_of_element_located((By.XPATH, '/html/body/div/div/div/div[2]/main/div/div/div/div/div/div[2]/div/div[2]/div[1]/div/div/div/div[2]/div[3]/div/div/div[1]/input')))
element.send_keys(os.getcwd() + "/downloads/image.jpg")
element = wait.until(EC.element_to_be_clickable((By.XPATH, '/html/body/div/div/div/div[2]/main/div/div/div/div/div/div[2]/div/div[2]/div[1]/div/div/div/div[2]/div[3]/div/div/div[2]/div[3]/div/span/span')))
element.click()

我首先尝试找到输入 XPATH,第二个是单击推文按钮。当前的错误是,当我尝试搜索要上传文件的元素时,找不到它并超时。我怎样才能上传 image/video?

要上传图片或视频,您应该将该图片/视频文件路径发送到输入文件。
假设您要上传位于您计算机上的以下路径中的图像: “C:\Users\you_name\Downloads\IMG_20180906_184135.jpg” 发送此路径的输入元素位于 twitter 主页上的以下 XPath“//input[@accept]”,因此要上传此文件,您可以执行以下操作:

driver.get(WEBSITE)
input_xpath = "//input[@accept]"
image_path = "C:\Users\you_name\Downloads\IMG_20180906_184135.jpg"
input_element = wait.until(EC.presence_of_element_located((By.XPATH, input_xpath)))
input_element.send_keys(image_path)

就是这样,不需要任何额外的点击等