如何使用 Selenium 和 Python 将 windows ID 转换为人类可读格式
How to convert windows IDs to human readable format using Selenium and Python
我知道如果我想知道我目前打开的windows对应的ID,我在Python上用下面这句话:
current_windows = driver.window_handles
print(current_windows)
输出(假设打开了 2 windows):
['CDwindow-807A80F3D56E82E4A61529E5898AC71C', 'CDwindow-7CEAB7D7E9B701F6279C4B5C4AEE1A29']
而且我也知道,如果我想在driver获取当前页面的标题,我在Python上使用下面这句话:
current_window = driver.title
print(current_window)
输出:
Google
但是,这些windows的ID,我这种凡人是看不懂的,那么如何改进上面的句子,得到那些windows的标题呢?
我的意思是,要获得这样的输出,其中包含在 driver 中打开的当前 windows 的所有标题:
['Google', 'Facebook']
根据 WebDriver Specification of Window Handle:
Each browsing context has an associated window handle which uniquely
identifies it. This must be a String and must not be "current".
The web window identifier is the string constant
"window-fcc6-11e5-b4f8-330a88ab9d7f".
所以下面命令的输出:
current_windows = driver.window_handles
print(current_windows)
如:
['CDwindow-807A80F3D56E82E4A61529E5898AC71C', 'CDwindow-7CEAB7D7E9B701F6279C4B5C4AEE1A29']
符合规范,既不包含 page title 信息,也不能转换为任何人类可读的格式。
要检索页面标题,唯一的命令是:
print(driver.title)
我知道如果我想知道我目前打开的windows对应的ID,我在Python上用下面这句话:
current_windows = driver.window_handles
print(current_windows)
输出(假设打开了 2 windows):
['CDwindow-807A80F3D56E82E4A61529E5898AC71C', 'CDwindow-7CEAB7D7E9B701F6279C4B5C4AEE1A29']
而且我也知道,如果我想在driver获取当前页面的标题,我在Python上使用下面这句话:
current_window = driver.title
print(current_window)
输出:
Google
但是,这些windows的ID,我这种凡人是看不懂的,那么如何改进上面的句子,得到那些windows的标题呢?
我的意思是,要获得这样的输出,其中包含在 driver 中打开的当前 windows 的所有标题:
['Google', 'Facebook']
根据 WebDriver Specification of Window Handle:
Each browsing context has an associated window handle which uniquely identifies it. This must be a String and must not be "current".
The web window identifier is the string constant "window-fcc6-11e5-b4f8-330a88ab9d7f".
所以下面命令的输出:
current_windows = driver.window_handles
print(current_windows)
如:
['CDwindow-807A80F3D56E82E4A61529E5898AC71C', 'CDwindow-7CEAB7D7E9B701F6279C4B5C4AEE1A29']
符合规范,既不包含 page title 信息,也不能转换为任何人类可读的格式。
要检索页面标题,唯一的命令是:
print(driver.title)