当前位置: 首页 > 面试题库 >

控制selenium中的Firefox标签

张和颂
2023-03-14
问题内容

根据window_handles 文档:

window_handles

返回当前会话中所有窗口的句柄。

但是,window_handles打开新标签页后,我看不到新句柄出现在列表中:

>>> from selenium import webdriver
>>> from selenium.webdriver.common.keys import Keys
>>>
>>> driver = webdriver.Firefox()
>>> driver.get("http://stackoverflow.com/")
>>> driver.window_handles
[u'{caca92e1-521e-9b4d-9374-00af0ae7d384}']
>>>
>>> # open a new tab
>>> driver.find_element_by_tag_name("body").send_keys(Keys.COMMAND + 't')
>>> driver.window_handles
[u'{caca92e1-521e-9b4d-9374-00af0ae7d384}']

如您所见,window_handles具有相同的值,但是我看到在浏览器中打开了2个标签。我做错了什么吗?如果是,应该如何获取新标签的句柄?

使用:

  • selenium2.44.0(最新)
  • Firefox 35.0(最新)
  • python 2.7.6

请注意,如果我要在Chrome中进行类似操作,window_handles则会显示2个句柄:

>>> driver = webdriver.Chrome()
>>> driver.get("http://stackoverflow.com/")
>>> driver.execute_script('window.open("about:blank", "_blank");')
>>> driver.window_handles
[u'CDwindow-9458E5DB-D5ED-496C-BEE7-2FA468F3DF42', u'CDwindow-04C0FBBC-C418-465B-B6AF-F72B288B45C6']

问题答案:

仅顶级浏览器窗口具有HWND。选项卡没有自己的HWND。有关更多说明,请参见此处。



 类似资料:
  • 我试图用Python通过Selenium打开firefox控制台。如何使用python Selenium打开firefox控制台?有没有可能把钥匙发给司机或者类似的东西?

  • 问题内容: 我正在尝试开始编写Selenium测试,并且我编写的第一个非常基本的测试因exception失败。 调试器说我需要下载geckodriver.exe并将其设置在我的PATH变量上,这已经完成,但仍然会出现相同的异常。当我对进行相同的操作时,效果很好。 同样,根据MDN,如果我使用的是Selenium 3.0或更高版本,则应默认启用它。我在Windows 10计算机上使用Selenium

  • 在chrome/Firefox控制台中找到xpath,但在selenium中找不到?有什么建议吗? Java代码双向: 以下是硒的作用: 线程“main”组织中出现异常。openqa。硒。TimeoutException:预期条件失败:等待元素可单击:按。xpath:/html1/body1/div2/div1/div1/div2/div2/div1/div3/div1/div[4]/div2/t

  • 问题内容: 我在 Firefox* Webdriver 上的move_to_element 函数遇到问题(Chrome,IE运行良好) * 我正在使用以下版本:geckodriver-0.17.0 // Firefox-54.0 //selenium-3.4.3 运行此脚本后,在输出中显示: 问题答案: 这个错误… …表示您要查找的元素不在Viewport中。我们需要向下滚动以将元素带入视口中。这

  • 问题内容: 我想无头运行Firefox。 Firefox不隐藏浏览器窗口或在虚拟桌面中打开它,而是通过使用“ -headless”标志来支持无头模式。 问题是我知道如何在Chrome中执行此操作,但在Firefox中却不行。 我的代码: 我的WinForm应用程序只有一个名为StartBtn的按钮。单击该按钮后,Firefox应该无头运行,但会在正常窗口中打开。 更新 我将firefox更新为56

  • 我尝试了几种方法通过selenium(使用python)在Firefox中打开控制台,但这些方法都不起作用,尽管我没有得到任何故障排除,除了最后一个。 Selenium 3.141.0、Firefox 68.0、geckodriver-v0.24.0-win64