1

我知道如果我想知道我当前打开的窗口的对应ID,我在Python上使用以下语句:

current_windows = driver.window_handles
print(current_windows)

输出(假设打开了 2 个窗口):

['CDwindow-807A80F3D56E82E4A61529E5898AC71C', 'CDwindow-7CEAB7D7E9B701F6279C4B5C4AEE1A29']

而且我也知道,如果我想在驱动中获取当前页面的标题,我在Python上使用如下语句:

current_window = driver.title
print(current_window)

输出:

Google

但是,这些windows ID 是我这种凡人无法理解的,那么如何改进上面的语句来获得那些windows 的标题呢?

我的意思是,要获得这样的输出,其中包含驱动程序中打开的当前窗口的所有标题:

['Google', 'Facebook']
4

1 回答 1

1

根据窗口句柄WebDriver 规范

获取窗口句柄

其中,

每个浏览上下文都有一个关联的窗口句柄,它唯一地标识它。这必须是一个字符串,并且不能是“当前的”。

Web 窗口标识符是字符串常量“window-fcc6-11e5-b4f8-330a88ab9d7f”。

所以以下命令的输出:

current_windows = driver.window_handles
print(current_windows)

作为:

['CDwindow-807A80F3D56E82E4A61529E5898AC71C', 'CDwindow-7CEAB7D7E9B701F6279C4B5C4AEE1A29']

符合规范,既不包含页面标题信息,也不能转换为任何人类可读的格式。

要检索页面标题,唯一的命令是:

print(driver.title)
于 2022-01-23T19:48:20.470 回答