栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在selenium-webdriver中获得窗口标题,ID和名称?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在selenium-webdriver中获得窗口标题,ID和名称?

问题是,

get_all_window_ids
它用于Selenium :: Client而不是Selenium ::
Webdriver。我相信Selenium :: Client是旧版本的Selenium,并且API与Selenium ::
Webdriver不同(请参见此处)。由于您使用的是Selenium
:: Webdriver,因此可以解释为什么出现“未定义的方法”错误。

对于Selenium :: Webdriver,我知道如何在Windows之间切换的唯一方法是使用:

@driver.switch_to.window("<window_handle>")

您可以通过以下方式获取所有已知的window_handles:

@driver.window_handles#=> Returns all window handles as an array of strings

如果要切换到刚打开的弹出窗口,可以执行以下操作。请注意,这

.window_handles
是按照打开窗口的顺序进行的,我认为这是事实:

@driver.switch_to.window @driver.window_handles.last

总而言之,假设您只关心访问弹出窗口(而不关心按名称访问),则可以执行以下操作:

#Click control that opens popup@driver.find_element(:id, 'button that opens popup').click#Switch to popup@driver.switch_to.window @driver.window_handles.last#Do actions in new popup@driver.find_element(:id, 'id of element in popup').click

请注意,如果使用弹出窗口后,您将要返回到原始窗口,那么建议您执行以下操作。通过将一个块传递给

switch_to.window
,该块将在弹出窗口中执行,并且当该块结束时
@driver
将自动指向原始窗口。

#Click control that opens popup@driver.find_element(:id, 'button that opens popup').click#Switch to popup@driver.switch_to.window( @driver.window_handles.last ){  #Do actions in new popup  @driver.find_element(:id, 'id of element in popup').click}#Continue with original window@driver.find_element(:id, 'button in original window').click


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/413068.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号