首页 > 解决方案 > 与具有“隐藏”属性的类中的元素交互

问题描述

我正在尝试与这个 iframe 交互,它是一个 Tinymce 编辑器。

在这张图片中可以看到网站的 HTML 代码

当我尝试使用以下 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 代码可以正常工作。

标签: pythonseleniumweb-scrapingautomationtinymce

解决方案


推荐阅读