我正在将Python 3 + Selenium WebDriver(最新版本)与Chrome一起使用。
通过Confluence,我所说的是“类似wiki”的Confluence页面。它具有一个编辑按钮,我可以使用WebDriver成功单击该按钮。
但是,我注意到一件很奇怪的事情。单击编辑后,页面切换到编辑模式。在这一点上,我希望WebDriver能够像平常一样找到xpath。但事实并非如此。
我发现单击编辑后 any xpath搜索失败。如果我正在等待元素加载,并且如果我尝试单击某个元素,则会引发超时异常。
我可以打开浏览器控制台的“元素”选项卡,执行Control + F并输入xpath。在那里工作正常。但是当我使用WebDriver发送它时,它总是失败。
我什至尝试保持time.sleep(1分钟)只是为了确保在WebDriver尝试单击之前完全加载页面。但这也没有区别。
有人知道为什么会这样吗,以及如何通过WebDriver编辑文本以将文本输入到融合页面吗?
答案 0 :(得分:2)
编辑区域是位于iframe内的嵌入式页面,因此要进行一些编辑,您需要切换到该框架。我不确定您使用的框架是否相同,以及您使用的是哪种编程语言,但这是Python版本
driver.switch_to.frame(driver.find_element_by_xpath('//iframe[@title="{#aria.rich_text_area}"]'))
在进行更改后,请不要忘记切换回去
driver.switch_to.default_content()