【问题标题】:selenium.common.exceptions.ElementNotInteractableException: Message: element not interactableselenium.common.exceptions.ElementNotInteractableException:消息:元素不可交互
【发布时间】:2019-07-25 16:46:41
【问题描述】:

我是为了好玩而编程,所以我想通过 twitter 了解 selenium webdriver,但我遇到了一个问题。

当我尝试将我的文本放入推文的框中时,问题就出现了:

所以我必须激活盒子上的元素并且效果很好:

TBot = webdriver.Chrome()
twitter_box_act = Tbot.find_element_by_xpath('//div[@class="public-DraftEditorPlaceholder-inner"]')
Tbot.execute_script("arguments[0].click(), twitter_box_act)

但是一旦我尝试在盒子上放一些文字,就会出现这个错误:

selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable

我用来尝试在框上放置文本的代码如下:

    tweet_entry = self.bot.find_element_by_xpath('//span[@data-text="true"]')
    tweet_entry.send_keys("some text here")

所以我尝试使用 F12 更深入地查看代码,这就是我得到的:

我尝试在没有解决问题的每个步骤之间放置一些 time.sleep(x)。

我尝试先编辑 br 标记,然后再编辑 span 标记,但仍然出现相同的消息错误

我一直在互联网上查看 Twitter 项目中的 selenium,但由于它们更改了 UI,因此 HTML 正文不同。

我错过了什么吗?

PS:我跳过了登录部分,因为这与问题无关

【问题讨论】:

    标签: html python-3.x selenium-webdriver python-3.6


    【解决方案1】:

    您已尝试更改此行: -->Tbot.execute_script("arguments[0].click(), twitter_box_act) 该错误是针对可交互的,并且您在参数中有可交互的。

    【讨论】:

    • 到底是什么问题?我是初学者,所以也许对你来说很明显对我来说并不那么明显,所以你能更详细地解释一下吗?谢谢!
    • 抱歉耽搁了,您已尝试访问位置 0 的元素,但在迭代中出现错误。该元素不可迭代,该元素可能不是数组,因此没有可迭代性的可能性。试试这个——从browser中复制元素的xpath并粘贴到execute_script方法中,在选项卡元素中单击并搜索 xpath,复制和粘贴。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-28
    • 2022-06-10
    • 1970-01-01
    • 2019-08-09
    相关资源
    最近更新 更多