我写了示例代码,但它不起作用。还观察到两个选项卡只有一个窗口句柄。如何再次切换到上级页签?
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
发布于 2014-04-23 13:00:04
在将handle
切换到父选项卡之前,您需要使用Keys
切换选项卡。
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)
发布于 2014-03-17 21:04:55
另一种实现方法是-打开浏览器的两个实例,比如driver1
和driver2
,在浏览器实例中打开相应的url并对其执行操作-
driver1 = webdriver.Firefox()
driver1.get("https://www.google.co.in")
//perform actions for page https://www.google.co.in
driver2 = webdriver.Firefox()
driver2.get("http://gmail.com/")
//perform actions for page http://gmail.com/
发布于 2014-02-20 14:48:39
下面的解决方案对我很有效。
ActionChains(driver).key_down(Keys.CONTROL).send_keys('t').key_up(Keys.CONTROL).perform()
time.sleep(5)
ActionChains(driver).key_down(Keys.CONTROL).send_keys(Keys.NUMPAD1).key_up(Keys.CONTROL).perform()
https://stackoverflow.com/questions/21880295
复制相似问题