Python 巨蟒硒。下载打开新选项卡后如何切换回上一个窗口/选项卡

Python 巨蟒硒。下载打开新选项卡后如何切换回上一个窗口/选项卡,python,google-chrome,selenium-webdriver,Python,Google Chrome,Selenium Webdriver,问题是,当我通过单击()下载文件时,它会打开一个新的选项卡/窗口来启动下载,然后浏览器会自动关闭该选项卡/窗口。然而,当我想访问下载链接所在的上一页时,我得到了错误“无效会话id” 在使用Safari进行自动化时,出现错误“没有此类窗口异常” 如果有人知道如何处理这个问题,我将感谢所有能得到的帮助。谢谢大家! 下面是我的代码,尝试单击file\u dl2 attachments = browser.find_element_by_id('sAttachments') attachments.cl

问题是,当我通过单击()下载文件时,它会打开一个新的选项卡/窗口来启动下载,然后浏览器会自动关闭该选项卡/窗口。然而,当我想访问下载链接所在的上一页时,我得到了错误“无效会话id”

在使用Safari进行自动化时,出现错误“没有此类窗口异常”

如果有人知道如何处理这个问题,我将感谢所有能得到的帮助。谢谢大家!

下面是我的代码,尝试单击
file\u dl2

attachments = browser.find_element_by_id('sAttachments')
attachments.click() 

time.sleep(2)

files = browser.find_element_by_xpath('//*[@id="FileListFI"]/div[1]') 
files.click()

file_dl = browser.find_element_by_xpath('//*[@id="ctl00_chpDialog_hrefFileLink"]/img')  
file_dl.click()

browser.implicitly_wait(10)

file_dl2 = browser.find_element_by_xpath('//*[@id="ctl01_chpDialog_hrefFileLink"]/img') 
file_dl2.click()
。。。。
驱动程序。获取(“”)
睡眠(1)
....
这将获取原始/以前的网站(在角色中单击()操作的位置添加此代码)

您可以在sleep()函数之后附加一组新的指令,并进一步修改


我们需要查看您当前的代码以及它不起作用的地方、任何完整的错误消息,等等。根据您的描述:1)您在浏览器1中的页面上,单击链接,2)站点在浏览器2中打开一个新窗口,该窗口将下载文件,然后关闭浏览器2离开浏览器1。如果是这种情况,您根本不必切换窗口。Selenium不会自动切换到新窗口等。您必须告诉它何时要切换。如果不是这样,请清楚地列出您的步骤,以便我们更好地了解您正在尝试做什么以及它在哪里停止工作。@JeffC我已将上面的代码作为编辑发布。我没有使用selenium切换任何窗口,但它仍然无法工作。请将您的代码格式化为代码,并且您仍然需要清楚地解释步骤流程(用文字),以便我们能够理解该场景。如果可能,请共享url。。尝试这与切换车窗无关,如果他在第二个车窗中执行driver.get,他将驾驶第二个车窗,而第一个车窗处于孤立状态。你能详细说明一下吗?问题是如何切换车窗。这并没有解决这个问题。如果他有两个窗口打开,并切换到第二个窗口,使用driver.get将开始驾驶第二个窗口,离开第一个窗口。是的,我一直在想这个缺陷,我想我会删除我的答案,对不起,我的疏忽
....
     driver.get("<web-site>")
                sleep(1)
....