【发布时间】:2018-03-19 21:03:58
【问题描述】:
我有这个 HTML 代码:
<form class="_b6i0l"><textarea aria-label="Add a comment…" placeholder="Add a comment…" class="_bilrf" autocomplete="off" autocorrect="off" style="height: 18px;"></textarea>
<textarea aria-label="Add a comment…" placeholder="Add a comment…" class="_bilrf" autocomplete="off" autocorrect="off" style="height: 18px;"></textarea>
</form>
我想在文件中写一段文字。但是,发生了这个错误:
selenium.common.exceptions.ElementNotInteractableException: Message: Element <textarea class="_bilrf"> is not reachable by keyboard
我发送文本的代码是:
add_comment_box= WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.CSS_SELECTOR, "textarea._bilrf")))
time.sleep(5)
add_comment_box.send_keys("nice!")
你能帮帮我吗?
【问题讨论】:
-
表单中有 2 个文本区域吗?
-
不,只有一个。
-
@hamed baziyad,您帖子中的 HTML 有 2 个
textarea。 -
@hamed baziyad,尝试使用其他驱动程序。如果可以,那就是驱动的问题。如果不是,那么您要么选择了错误的元素,要么是时间问题,在这种情况下,您应该使用服务员等待预期的状态,或者如果无法获得状态,则无异常。
-
@hamed baziyad,通过直接设置值,您不再发出页面可能依赖的事件。因此,您不再模拟用户的输入。如果您正在抓取/自动化页面可能没问题,但如果您正在测试页面则不是。请注意,鉴于我们仍然不知道为什么该元素被 Selenium 视为不可交互元素,因此您的帖子不太可能有用。
标签: python-3.x selenium selenium-webdriver textarea sendkeys