许多网站使用社交媒体登录来简化用户的登录过程。在大多数情况下,如果单击该按钮,则会打开一个新的弹出窗口,用户必须在其中输入用户凭据。可以手动在浏览器中切换窗口并输入所需的凭据以登录。但是,如果使用webdriver进行无人值守的Web访问,则驱动程序不能仅自动切换窗口。我们需要更改驱动程序中的窗口句柄,以便在弹出窗口中输入登录凭据。Selenium具有使用同一驱动程序切换窗口以访问多个窗口的功能。   首先,我们必须从Webdriver获取当前的窗口句柄,这可以通过以下方式完成: driver.current_window_handle   我们需要保存它以获取当前的窗口句柄。弹出窗口出现后,我们必须立即获取所有可用窗口句柄的列表。 driver.window_handles   然后,我们可以从该列表中获取登录页面的窗口句柄,然后切换控件。要切换窗口句柄,请使用: driver.swtich_to.window(login_page) 成功登录后,我们可以使用相同的switch_to 方法将控制权更改为上一页。 注意:要运行此代码,需要selenium库和用于firefox的geckodriver。可以使用Python第三方库安装程序完成selenium的安装pip。要安装硒,请运行以下命令 pip install selenium 对于geckodriver,下载文件并将其路径添加到OS… Read More