使用OS X中的Selenium WebDriver打开和关闭新标签页

zzzyeukh  于 2022-12-04  发布在  其他
关注(0)|答案(6)|浏览(1511)

我在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上实现同样的效果?根据这条评论,人们应该使用browser.find_element_by_tag_name('body').send_keys(Keys.COMMAND + 't')来打开一个新的标签页,但我没有Mac来测试它,那么Ctrl-w的等价物呢?
谢谢你!

wf82jlnq

wf82jlnq1#

没有什么比运行JavaScript更简单、更清晰的了。
打开新标签页:driver.execute_script("window.open('');")

qoefvg9y

qoefvg9y2#

打开新选项卡:

browser.get('http://www.google.com')

关闭选项卡:

browser.close()

切换到选项卡:

browser.swith_to_window(window_name)
6ljaweal

6ljaweal3#

您可以选择要关闭的窗口:

window_name = browser.window_handles[0]

切换 windows :

browser.switch_to.window(window_name=window_name)

然后关闭它:

browser.close()
ntjbwcob

ntjbwcob4#

下面的代码基于Python 2.7和Chrome的一个驱动程序。
打开新选项卡的方式:driver.execute_script("window.open('"+URL+"', '__blank__');"),其中URL是一个字符串,例如“http://www.google.com“。
关闭选项卡方式:driver.close() [请注意,当您只打开1个选项卡时,此选项卡也会加倍为driver.quit()]。
通过以下方式在选项卡之间导航:driver.switch_to_window(driver.window_handles[0])driver.switch_to_window(driver.window_handles[1])中的至少一个。

epggiuax

epggiuax5#

打开新标签页:

browser.execute_script("window.open('"+your url+"', '_blank')")

切换到新标签页:

browser.switch_to.window(windows[1])
c8ib6hqw

c8ib6hqw6#

恕我直言,以上所有答案都没有完全解决关闭窗口中的一个选项卡而不关闭整个窗口或打开一个空白选项卡的原始问题。
我解决方案:

browser.switch_to.window("tab1") #change the tab1 to the id of the tab you want to close
browser.execute_script("window.close('','_parent','');")

相关问题