在阅读并学习Stackoverflow的大量内容之后,我终于有一个问题,我似乎无法找到答案。
我正在使用Python,Selenium(WebDriver)和Chrome编写一些测试脚本。在其中一个脚本的过程中,必须单击一个链接,在新的Chrome窗口中打开PDF文档。所有这一切都很好,因为新窗口完全按照预期的方式弹出,但是,我无法弄清楚如何让我的代码与新窗口一起工作。
wd = WebDriver()
...
my_link = wd.find_elements_by_css_selector('a')[0]
my_link.click() #will open the link target in a new window
我尝试过这样的事情:
new_wd = WebDriver()
new_wd = my_link.click()
这不起作用
我也有:
new_wd = WebDriver()
new_wd.get(my_link.get_attribute('href')
这不起作用,因为新的Chrome窗口没有像原始窗口一样登录。
我不知道该怎么做,并且一直在寻找答案。 感谢
所以对此的答案最终是因为我无法获得新窗口。
我最终做的是建立一个我需要与他们的href一起去的链接列表。然后,我不是单击这些链接,而是使用wd.get(listHref)遍历列表,然后返回到原始URL。这种方法符合我的要求,所以我会接受它。
感谢您的帮助。
答案 0 :(得分:0)
要移动到新窗口,您需要获取新窗口的窗口句柄并切换到它。这是链接How to handle the new window in Selenium WebDriver using Java? 虽然代码使用JAVA但python应该类似。