python - 与具有“隐藏”属性的类中的元素交互
问题描述
我正在尝试与这个 iframe 交互,它是一个 Tinymce 编辑器。
当我尝试使用以下 xpath 定位元素时
element1 = driver.find_element_by_xpath("//iframe[@id='assessment_questions_attributes_565794_text_ifr']")
driver.execute_script("arguments[0].click();", element1)
print("Element Clicked!")
我得到一个
NoSuchElementException
以前我使用下面的代码在同一网站上访问 Tinymce 编辑器没有问题,更多信息可以在这里找到。
driver.execute_script("tinymce.get('{0}').focus()".format(id_of_element)
driver.execute_script("tinyMCE.activeEditor.setContent('{0}')".format("Hello World")
但是在这种情况下,它会引发此异常
selenium.common.exceptions.JavascriptException:消息:javascript 错误:无法读取 null 的属性“焦点”
更有趣的事情是,如果我尝试使用 Javascript 访问元素,我什么也得不到。
document.getElementsByClassName("mce-content-body")
但是当我在 DOM 中手动将所有“隐藏”属性更改为“可见”并将隐藏焦点更改为“0”时,Javascript 代码可以正常工作。
解决方案
推荐阅读
- vue.js - Vuex 操作返回 undefined 和 null
- c# - Unity3d使用列表保持玩家在竞赛游戏中的位置
- mysql - MySQL 条件引用外键
- mysql - mysql查询显示组数据
- ruby - 安装 Ruby 时出错
- c# - c# linq MethodCallExpression for Max(DataRow) used for .GroupedBy().Select()
- mysql - 如何在MYSQL查询中匹配精确值
- corda - 在 Corda 中,`KryoException: Encountered unregistered class ID` 尽管注册了类
- postgresql - 访问数据库 postgresql:密码验证失败
- shell - Shell“期望”脚本,“发送”命令后如何获取返回值