gpt4 book ai didi

python - 如何使用 selenium 和 PhantomJS 在 python 中打开新选项卡

转载 作者:行者123 更新时间:2023-11-28 19:13:19 24 4
gpt4 key购买 nike

在 Python 3.4 中设置自动浏览器测试并使用 headless 浏览器 - phantomjs。

打开新选项卡的常用方法 (Keys.CONTROL + 't') 不适用于 phantomjs。我假设我可以使用 selenium 中的一种方法,或者 phantomjs 的特定组合键来打开标签,但是我找不到它。我可以使用 chrome 或 firefox,但我只需要 PhantomJS。

我需要一个新标签,因为我将打开两个标签并通过以下方式在窗口之间切换:

句柄 = driver.window_handlesdriver.switch_to.window(句柄[0])

phantomjs 的问题在于它不会创建新选项卡,因此只会创建一个句柄。

有人知道吗?

最佳答案

哇,回答这个问题的时间太晚了……但要记住的一件事是 PhantomJS 是一个 headless 浏览器。没有像您在 Firefox、Chrome 等中看到的那样的“选项卡”。您要做的是打开一个新窗口,这只能通过 execute_script 才能真正完成。例如,如果运行以下命令,您将很好地了解窗口在 Selenium 中的工作方式:

driver = webdriver.PhantomJS()
driver.get("https://linkedin.com")
driver.execute_script("$(window.open('https://twitter.com'))")
print driver.current_window_handle

# Switch to new window
driver.switch_to_window(driver.window_handles[-1])
print " Twitter window should go to facebook "
print "New window ", driver.title
driver.get("http://facebook.com")
print "New window ", driver.title

# Switch to old window
driver.switch_to_window(driver.window_handles[0])
print " Linkedin should go to gmail "
print "Old window ", driver.title
driver.get("http://gmail.com")
print "Old window ", driver.title

# Again new window
driver.switch_to_window(driver.window_handles[1])
print " Facebook window should go to Google "
print "New window ", driver.title
driver.get("http://google.com")
print "New window ", driver.title

关于python - 如何使用 selenium 和 PhantomJS 在 python 中打开新选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37092320/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com