为什么在使用 Selenium 时会出现此错误?解决方案是什么?
Why do I get this error when working with Selenium? And what is the solution?
我想在 ProtonMail 上创建一个帐户。
但是当我注册的时候,我是select用户,但是我不能给它发送任何东西。
并且出现以下错误:
ElementNotInteractableException: Message: Element is not reachable by keyboard.
address page='https://account.protonmail.com/signup?language=en'
user=d.find_element_by_xpath('//*[@id="username"]')
print(user.tag_name) # Is input
user.send_keys('username') # Give an error
我也用了Action Chains,但是问题没有解决
这里有 2 个问题:
2 个元素位于 //*[@id="username"]
XPath
您要访问的元素在 iframe 中。
试试这个:
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
wait(driver, 10).until(EC.frame_to_be_available_and_switch_to_it(driver.find_element_by_xpath('//iframe')))
user=d.find_element_by_xpath('//body[@class="color-norm bg-norm sign-layout-container"]//*[@id="username"]')
user.send_keys('username')
我想在 ProtonMail 上创建一个帐户。
但是当我注册的时候,我是select用户,但是我不能给它发送任何东西。
并且出现以下错误:
ElementNotInteractableException: Message: Element is not reachable by keyboard. address page='https://account.protonmail.com/signup?language=en'
user=d.find_element_by_xpath('//*[@id="username"]')
print(user.tag_name) # Is input
user.send_keys('username') # Give an error
我也用了Action Chains,但是问题没有解决
这里有 2 个问题:
2 个元素位于 //*[@id="username"]
XPath
您要访问的元素在 iframe 中。
试试这个:
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
wait(driver, 10).until(EC.frame_to_be_available_and_switch_to_it(driver.find_element_by_xpath('//iframe')))
user=d.find_element_by_xpath('//body[@class="color-norm bg-norm sign-layout-container"]//*[@id="username"]')
user.send_keys('username')