如何使用python selenium firefox获取特定的子窗口?

时间:2017-09-11 14:01:07

标签: python selenium firefox

当只打开一个窗口时,我只会使用下面的方法来获取子窗口:

from selenium import webdriver

browser = webdriver.Firefox()
browser.get('http://www.a.com')
handles = browser.window_handles
parent_a = browser.current_window_handle
browser.execute_script('window.open("http://www.a1.com");')
new_handles = browser.window_handles
child_a = new_handles[-1]

但是,当几个新窗口同时打开时,如何获取parent_a的子窗口? 子窗口的网址和标题未知。

from selenium import webdriver

browser = webdriver.Firefox()
browser.get('http://www.a.com')
handles = browser.window_handles
parent_a = browser.current_window_handle
browser.execute_script('window.open("http://www.a.com");')
parent_b = browser.window_handles[-1]

www.a.com将打开新窗口并自动关闭它。 如何获得parent_a.children和parent_b.children。

http://www.a.com的源代码:

<html>
<head>
<title>a.com</title>
<script type="text/javascript">
var newWin=window.open('random-url');
sleep(randomtime);
newWin.close();
</script>
</head>
<body>
body content
</body>
</html>

使用javascript,您可以保存新打开的窗口,因此不是问题。

var child = window.open('http://www.b.com')
parent = child.openner

0 个答案:

没有答案