WebDriver不会返回默认内容

时间:2017-04-04 14:34:48

标签: python selenium iframe webdriver

我试图为参与在线支持系统的一对网站编写测试:一个用于Agent,第二个用于Visitor

最初,Visitor打开其网站上的支持标签,Agent接听电话并接听电话。双方此刻只进行文字聊天。 之后,Agent想要将聊天呼叫升级到音频 - 视频级别并按下特殊按钮。 将打开一个附加窗口小部件,其中包含带有IFRAME按钮的INVITE元素。 代理按下INVITE按钮。 之后,代理必须按文本聊天中的“发送”按钮(位于主页内容,而不是IFRAME),以发送代理加入音频的邀请 - 视频聊天。

这些是我想要自动化的步骤。

一切正常,直到.switch_to_default_content()。之后,浏览器似乎丢失了DOM,并且在主页面和IFRAME中都没有找到任何元素。

本地WebDriverWebDriver.Remote网格的行为相同,Chrome最新版本和Firefox最新版本,Windows 10及{{1}无论Mac OS X 10.11.6组合如何。

以下是Capabilities中的代码:

Pytnon

此后,#Starting the Agent browser options = webdriver.ChromeOptions() options.add_argument("--disable-notifications") agent_browser = webdriver.Remote(command_executor='http://127.0.0.1:4444/wd/hub', desired_capabilities=options.to_capabilities()) <...> #Starting the Visitor browser visitor_browser = webdriver.Remote(command_executor='http://127.0.0.1:4444/wd/hub', desired_capabilities=DesiredCapabilities.CHROME) <...> # Finding the IFRAME agent_LPVE_iframe = WebDriverWait(agent_browser, 30).until(EC.presence_of_element_located((By.XPATH, "//iframe[contains(@class, 'lpview_table_items_placeholder')]"))) # Switching to IFRAME agent_browser.switch_to_frame(agent_LPVE_iframe) <...> # Switching to default contents #agent_browser.switch_to_default_content() agent_browser.switch_to.default_content() 无法在主页面DOM和WebDriver内找到任何元素,即使它已切换回IFRAME

为什么会发生这种情况?如何使其正常工作?

我正在使用:
- IFRAME
- Python 3.6.0 x32
- selenium-server-standalone-3.3.1.jar
- ChromeDriver 2.28 Win32

告诉我您是否需要任何其他信息。

0 个答案:

没有答案