如何使用Selenium(Python)修复将图像上传到twitter的问题

如何使用Selenium(Python)修复将图像上传到twitter的问题,python,image,selenium,twitter,Python,Image,Selenium,Twitter,目前,我正试图上传一个图片到Twitter上,用于我的回复机器人。我的当前代码没有给出错误,但它也没有附加图像。我尝试过很多方法,但都没有成功。这是我目前的代码 bot = self.bot bot.find_element_by_class_name('Icon--reply').click() time.sleep(6) bot.find_element_by_css_selector('input.file-input').send_keys(r'F:\P

目前,我正试图上传一个图片到Twitter上,用于我的回复机器人。我的当前代码没有给出错误,但它也没有附加图像。我尝试过很多方法,但都没有成功。这是我目前的代码

    bot = self.bot
    bot.find_element_by_class_name('Icon--reply').click()
    time.sleep(6) 
    bot.find_element_by_css_selector('input.file-input').send_keys(r'F:\Programming\Python\Tweet Bot\Videos\broom.jpg')

这是我使用这段代码的tweet截图

您可能需要在文件输入元素上执行JavaScript以显示它,然后才能向其发送键

element = bot.find_element_by_xpath("//input[@type='file']")

bot.execute_script("arguments[0].style.display = 'block';", element)

element.send_keys(filePath)

你能提供你的代码更新线程代码谢谢你的指针,我尝试了上面的代码,但没有发生任何事情,它仍然只是运行没有错误或期望的结果。下面是函数bot=self.bot bot.find_element_by_class_name('Icon--reply')。click()time.sleep(6)filePath=r'F:\Programming\Python\Tweet bot\Videos\broom.jpg'element=bot.find_element_by_css_selector('input.file input').bot.execute脚本(“参数[0]。style.display='block'”),element)time.sleep(1)element.send_keys(filePath)@bryanreasonalmanadams我相信使用的定位器策略中有错误。在查看了您提供的页面链接上的HTML之后,我更新了定位器策略。试一下,让我知道它是否有效。试过了,它仍然不起作用。我有一种预感,可能是我有一个扩展,它迫使twitter成为旧主题。它叫GoodTwitter。我这样做是为了找出推特ID。这里有两个屏幕截图。一个是我的函数,另一个是我试图获取的按钮的HTML。定位器策略与页面上的HTML匹配——不确定问题发生的原因。扩展不应该影响这一点,但可能会。Twitter非常先进,所以他们可能锁定了很多功能来限制机器人的活动。