当前位置: 首页 > 知识库问答 >
问题:

使用selenium webdriver切换回父选项卡

乌杰
2023-03-14

我写了示例代码,但它不起作用。还观察到2个选项卡只有1个窗口句柄。如何再次切换到父页签?

 driver = webdriver.Firefox()
 driver.set_page_load_timeout(60)
 driver.implicitly_wait(15)
 driver.get("https://www.google.co.in")
 oldtab = driver.current_window_handle
 print oldtab
 print driver.title
 body = driver.find_element_by_tag_name("body")
 print 'new tab opened'
 driver.get("http://gmail.com/")
 print driver.title
 print 'back to old tab'
 driver.switch_to_window(oldtab)
 print driver.title
 for handle in driver.window_handles:
    print "Handle = ",handle

共有1个答案

上官树
2023-03-14

在将句柄切换到父选项卡之前,需要使用切换选项卡。

 from selenium.webdriver.common.keys import Keys

 driver = webdriver.Firefox()
 driver.set_page_load_timeout(60)
 driver.implicitly_wait(15)

 # First Tab
 driver.get("https://www.google.co.in")
 oldtab = driver.current_window_handle
 print driver.title
 time.sleep(3)

 # Second Tab
 driver.find_element_by_tag_name("body").send_keys(Keys.CONTROL + "t")
 driver.get("http://gmail.com/")
 newtab = driver.current_window_handle
 print driver.title
 time.sleep(3)

 # Go back to First Tab
 driver.find_element_by_tag_name("body").send_keys(Keys.ALT + Keys.NUMPAD1)
 driver.switch_to_window(oldtab)
 print driver.title
 time.sleep(3)

 # Go to Second Tab again
 driver.find_element_by_tag_name("body").send_keys(Keys.ALT + Keys.NUMPAD2)
 driver.switch_to_window(newtab)
 print driver.title
 time.sleep(3)
 类似资料:
  • 问题内容: 所以我有一个包含3个项目的项目: 在的中: 每次单击某个项目时,都会调用一个骨干路由器,该骨干路由器将调用,而后者又将调用一个。 我仍在努力解决基本上存在单向数据流这一事实。而且我习惯直接操作DOM。 我想做的是将类添加到单击的选项卡中,并确保将其从非活动类中删除。 我所知道的CSS技巧,你可以使用属性和不同的造型适用于为属性或。 骨干路由器已经获取了变量并调用正确的页面。我只是不确定

  • 我正在打开一个页面,执行一些操作,我正在使用这段代码在下一个选项卡中打开另一个链接 字符串url=“https://qa.logfireapps.com/lgf_700_qa_rf”; String args1=String.format(“window.open(”%s“,”%s“);”,url,“new”); ((JavascriptExecutor)driver).ExecuteScript

  • 将Selenium WebDriver与Java结合使用。我正在尝试自动化一个功能,其中我必须打开一个新的选项卡,在那里做一些操作,并回到以前的选项卡(父)。我用了开关手柄,但它不起作用。还有一件奇怪的事情,两个选项卡有相同的窗口句柄,因此我不能在选项卡之间切换。 然而,当我尝试使用不同的Firefox窗口时,它都能工作,但是对于tab它就不行了。 请帮帮我.我如何切换标签。或者我如何切换选项卡而

  • 问题内容: 在JAVA中使用Selenium WebDriver。我试图自动执行一项功能,在该功能中我必须打开一个新选项卡,然后在此处执行一些操作,然后返回到上一个选项卡(父项)。我使用了开关手柄,但无法正常工作。奇怪的是,两个选项卡具有相同的窗口句柄,因此我无法在两个选项卡之间切换。 但是,当我尝试使用其他Firefox窗口时,它可以工作,但是对于选项卡,它却无法工作。 请帮助我如何切换标签。或

  • 本文向大家介绍使用javascript实现简单的选项卡切换,包括了使用javascript实现简单的选项卡切换的使用技巧和注意事项,需要的朋友参考一下 代码相当简洁、简单易懂,就不多废话了。 直接奉上代码: ------demo.js--------------- 是不是很简单就实现了选项卡的切换效果呢,小伙伴们自己美化下就可以用到自己项目中去了。

  • 假设一个类MyClass: 这条流: 我想返回中包含条目的的每个实例。 如果我想要一份清单 但我真正需要的是一个列表 这就是我现在拥有的: 但不知怎的,这感觉不太对。除了在谓词中打开一个新的流之外,还有什么更清洁的解决方案吗?