首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python selenium sendkeys元素不可交互

Python selenium sendkeys元素不可交互
EN

Stack Overflow用户
提问于 2021-02-26 04:10:24
回答 1查看 100关注 0票数 0

我正在尝试使用sendKeys()函数,但是我一直收到错误消息"Element not interactable“,我不知道为什么。当我使用pyautogui函数press()而不是sendKeys()时,它工作得很好

《守则》

代码语言:javascript
运行
复制
import pyautogui
import time

print('started')

web=webdriver.Chrome()
web.get('https://pt.symbolab.com/')

time.sleep(10)

expression = '2+2'
formXpath = web.find_element_by_id('main-input')
formXpath.click()

time.sleep(10)

formXpath.send_keys(expression)
##pyautogui.press('2') this line works

input = input('Quer parar o programa?')
if input=='s':
    exit()

My terminal

EN

回答 1

Stack Overflow用户

发布于 2021-02-26 04:29:43

下面的代码可以正常工作。我使用webdriverwait等待主输入出现,与您的代码相比的主要区别是,我使用ID main-input单击跨度,但send_keys事件被发送到作为孙子的textarea子对象。你不能通过send_keys连接到span标签。

代码语言:javascript
运行
复制
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC

driver_path = '<YOUR DRIVER PATH>'
driver = webdriver.Chrome(driver_path)


expression = '2+2'
driver.get('https://pt.symbolab.com/')
span = WebDriverWait(driver, 10).until(
    EC.presence_of_element_located((By.ID, "main-input"))
)
textarea = WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((By.XPATH, "//*[@id=\"main-input\"]/span[1]/textarea"))
    )
span.click()
textarea.send_keys(expression)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66375791

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档