我在Windows上的Python 2.7中使用Firefox Webdriver来模拟打开( Ctrl + t )和关闭( Ctrl + w )新标签。
这是我的代码:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
browser = webdriver.Firefox()
browser.get('https://www.google.com')
main_window = browser.current_window_handle
# open new tab
browser.find_element_by_tag_name('body').send_keys(Keys.CONTROL + 't')
browser.get('https://www.yahoo.com')
# close tab
browser.find_element_by_tag_name('body').send_keys(Keys.CONTROL + 'w')
如何在Mac上实现相同功能?
根据{{3}},我应该使用browser.find_element_by_tag_name('body').send_keys(Keys.COMMAND + 't')
打开一个新标签,但我没有Mac来测试它以及相当于Ctrl-w
的内容?
谢谢!
答案 0 :(得分:5)
没有比运行JavaScript更简单,更清晰的了。
打开新标签:
driver.execute_script("window.open('');")
答案 1 :(得分:4)
打开一个新标签:
browser.get('http://www.google.com')
关闭标签:
browser.close()
切换到标签:
browser.swith_to_window(window_name)
答案 2 :(得分:1)
打开新标签:
browser.execute_script("window.open('"+your url+"', '_blank')")
切换到新标签:
browser.switch_to.window(windows[1])
答案 3 :(得分:1)
只是为了仍然好奇的人将上面的答案结合起来。以下内容基于Python 2.7和Chrome中的驱动程序。
按以下方式打开新标签:driver.execute_script("window.open("+URL+", '__blank__');")
其中URL是一个字符串,例如" http://www.google.com"。
关闭标签:
driver.close()
[注意,当您只打开一个标签时,这也会加倍driver.quit()
。
在标签之间导航:driver.switch_to_window(driver.window_handles[0])
和driver.switch_to_window(driver.window_handles[1])
。
答案 4 :(得分:1)
您可以选择要关闭的窗口:
window_name = browser.window_handles[0]
切换窗口:
browser.switch_to.window(window_name=window_name)
然后将其关闭:
browser.close()