Python Selenium获取当前窗口句柄

18

Selenium for Java和Ruby有获取当前窗口句柄的方法。

例如,在Java中,可以在这里找到。

与此同时,Pythonic版本的Selenium没有这样的方法。

  1. 也许它在内部,但我没看到?
  2. 如果被跳过了,这是合理的吗?如何解决?
1个回答

20

WebDriver实例中有一个current_window_handle属性可用:

driver.current_window_handle

演示:

>>> from selenium import webdriver
>>>
>>> driver = webdriver.Chrome()
>>> driver.get('https://stackoverflow.com')
>>> 
>>> driver.current_window_handle
CDwindow-B22C1E54-977D-4B2A-8048-E9C73999E9C7

要在Python中获取窗口的名称,但使用JavaScript,您可以在Python中执行以下操作:(我到处寻找答案,但没有人回答)

使用JavaScript在Python中获取窗口名称:

window_title = driver.execute_script("return window.document.title") 

window_name = driver.execute_script("return window.name") # e.g. 'win1'

谢谢!我不知道我是怎么跳过它的 :) - AlexKorovyansky
2
我如何获取该窗口句柄的文本? - AdamMc331
@AdamMc331 你好,如果你指的是窗口名称,你可以使用JavaScript。我已经编辑了答案,希望能对你有所帮助。window_name = driver.execute_script("return window.name") # 例如:'win1' - ihightower

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接