为什么 WebDriver 不编辑合流页面?

Why doesn't WebDriver edit a confluence page?

我正在使用 Python 3 + Selenium WebDriver(最新版本)以及 Chrome。

对于 Confluence,我说的是 "wiki-like" 合流页面。它有一个编辑按钮,我可以使用 WebDriver 成功单击它。

但是,我注意到一件非常奇怪的事情。单击编辑后,页面切换到编辑模式。此时,我希望 WebDriver 能够像往常一样找到 xpaths。但事实并非如此。

我观察到 any xpath 搜索在单击编辑后失败。如果我正在等待一个元素加载,并且如果我尝试单击一个元素,则会抛出一个超时异常,然后会抛出一个 "Element not found" 异常。

我可以打开浏览器控制台的元素选项卡,执行 control+F 并输入 xpath。在那里它工作正常。但是当我使用WebDriver发送它时,它总是失败。

我什至尝试过保持 time.sleep(1 分钟)只是为了确保页面在 WebDriver 尝试点击之前完全加载。但这也没有什么区别。

有谁知道为什么会发生这种情况以及如何通过 WebDriver 编辑将文本输入汇合页面?

编辑区域是位于 iframe 内的嵌入式页面,因此要进行一些编辑,您需要切换到该框架。我不确定你的情况是不是同一个框架,也不确定你使用的是哪种编程语言,但这里是 Python 版本

driver.switch_to.frame(driver.find_element_by_xpath('//iframe[@title="{#aria.rich_text_area}"]'))

不要忘记在进行更改后切换回来:

driver.switch_to.default_content()