为什么 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()
我正在使用 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()