请注意,这个问题是Python 3.5.2
,只接受Python的答案。除非这可以用Java来处理?将过程自动化作为内部项目的一部分。使用IE webdriver
一切正常,但phantomJS
web驱动程序(由于功能有限,这是预期的)。但是,需要一个变通办法/解决方案。在
打开内部站点时,Windows Security login dialog box
出现,提示输入用户名和密码,然后按“确定”。使用IE web driver
,可以很好地处理:
loginAlert = driver.switch_to_alert()
loginAlert.authenticate(username, password)
javascript:
^{pr2}$在加载给出提示的页面之前运行,似乎无法确认phantom或IE的登录警报。即使确认,也不会输入登录详细信息。如前所述,它是来自浏览器的Windows安全提示,而不是一个元素。在
登录后,页面将重新加载ASP.NET_SessionId
Cookie,会话结束后该Cookie将过期。我尝试过通过IE登录,然后将cookie添加到Phantom中,但它似乎与域不匹配。在
我试过使用:
driver.save_screenshot(filename) to see what's happening in phantom
它适用于IE driver
,但是对于PhantomJS
,只保存一个透明图像。整个http://username:pass@site.com
的事情对IE或幻影驱动都不起作用。完成后,它无法加载/使用URL。在
如何处理或处理Windows安全登录对话框?我试着寻找替代品,比如pyvirtualdisplay
,但是没有找到关于如何在windows
上使用Python 3
的信息。在
我也尝试过设置phantomjs
所需的功能自定义头身份验证,但这似乎也没什么用。在
我也尝试过使用ActionChains
,但是当警报出现时它们就不起作用了(在IE或幻影驱动程序中)。抛出一个UnexpectedAlertPresentException
,即使它被捕获,并且您试图执行操作,一旦被捕获,警报似乎关闭。在
我的错!在
而
username:pass@domain.com
在IE webdriver
-it did work in the PhantomJS web driver.
中不起作用然而,该网站的浏览器兼容性有限-它是IE特有的。在
PhantomJS
基于页面源代码的比较,似乎与Chrome/Firefox处理站点的方式相同。在因此,
I am trying to find a way to make the current IE driver invisible / hidden.
我发现:
headless-selenium-for-win using Python
然而,尽管这里的用户说他们已经成功了,但是当我尝试
initialize the driver, it just hangs, the code doesn't proceed and no error messages are provided.
再问一个关于这个的问题。在
相关问题 更多 >
编程相关推荐