元素 <input> 无法通过键盘访问 - ShadwoRoot 下的 InputField
Element <input> is not reachable by keyboard - InputField under ShadwoRoot
我使用最新的 Chrome 和 chromedriver。
我有一个包含 DOM 元素的网站,我将在输入字段中输入任何文本
HTML代码(抱歉截图)
Python代码:
#展开阴影
def expand_shadow_element(元素):
shadow_root = driver.execute_script('return arguments[0].shadowRoot.children', 元素)
return shadow_root
...
root1 = driver.find_element_by_id("UI-tf_Vorgangsname")
shadow_root1 = expand_shadow_element(root1)
root2 = shadow_root11.find_element_by_xpath("//input[@part='value']")
time.sleep(2)
root2.click()
time.sleep(2)
root2.send_keys('testssdfs')
我变成了这个留言:
selenium.common.exceptions.ElementNotInteractableException:消息:键盘无法访问元素
我明白了,点击有效,光标在输入字段中处于激活状态,但 send_keys 无效。
你有什么主意吗?
非常感谢!
我有办法。
Sendkeys 不起作用,但我找到了混合解决方案。
我在没有 send_keys 的情况下使用这个 Python 脚本,我使用 robotframework kernsystem。
xy.robot 文件
...
${Element}= 获取元素 ID 输入 UI-tf_Vorgnagsname
按键 ${Element} 测试文本
...
所以我可以在这个输入字段中写。
我使用最新的 Chrome 和 chromedriver。
我有一个包含 DOM 元素的网站,我将在输入字段中输入任何文本
HTML代码(抱歉截图)
Python代码:
#展开阴影
def expand_shadow_element(元素):
shadow_root = driver.execute_script('return arguments[0].shadowRoot.children', 元素)
return shadow_root
...
root1 = driver.find_element_by_id("UI-tf_Vorgangsname")
shadow_root1 = expand_shadow_element(root1)
root2 = shadow_root11.find_element_by_xpath("//input[@part='value']")
time.sleep(2)
root2.click()
time.sleep(2)
root2.send_keys('testssdfs')
我变成了这个留言:
selenium.common.exceptions.ElementNotInteractableException:消息:键盘无法访问元素
我明白了,点击有效,光标在输入字段中处于激活状态,但 send_keys 无效。
你有什么主意吗?
非常感谢!
我有办法。
Sendkeys 不起作用,但我找到了混合解决方案。
我在没有 send_keys 的情况下使用这个 Python 脚本,我使用 robotframework kernsystem。
xy.robot 文件
...
${Element}= 获取元素 ID 输入 UI-tf_Vorgnagsname
按键 ${Element} 测试文本
...
所以我可以在这个输入字段中写。