【问题标题】:How to fix Upload image to twitter with Selenium (Python)如何使用 Selenium (Python) 修复上传图片到 Twitter
【发布时间】:2019-11-11 23:35:04
【问题描述】:

目前我正在尝试为我的回复机器人上传一张图片到 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')

这是我正在使用此 sn-p 代码的推文的屏幕截图。 https://i.imgur.com/RrtMnDd.png

【问题讨论】:

  • 你能提供你的代码
  • 更新了线程代码

标签: python image selenium twitter


【解决方案1】:

您可能需要在文件输入元素上执行 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_script("arguments[0].style.display = 'block';", element) time.sleep(1) element.send_keys(filePath)
  • @BryanReasonableManAdams 我相信使用的定位器策略有错误。查看您提供的页面链接上的 HTML 后,我更新了定位器策略。试试这个,让我知道它是否有效。
  • 试过了,还是不行。我有一种预感,可能是我有一个扩展,它迫使 twitter 成为旧主题。它被称为GoodTwitter。我这样做是为了找出推文 ID。这是两个屏幕截图。我的功能之一和我要获取的按钮的 HTML 之一。 i.imgur.com/dpM6kfq.pngi.imgur.com/fO9LBVS.png
  • 定位器策略与页面上的 HTML 相匹配——不知道为什么会出现问题。扩展不应该影响这一点,但它可能会。 Twitter 非常先进,因此他们可能会锁定很多功能以限制机器人活动。
猜你喜欢
  • 2012-01-29
  • 2015-06-03
  • 2021-01-09
  • 1970-01-01
  • 2013-10-12
  • 1970-01-01
  • 2023-01-10
  • 1970-01-01
相关资源
最近更新 更多