所以我被卡住了,我通过代理运行我的脚本,它需要HTTP身份验证,但我无法使用@:..进行身份验证。因此,我决定创建一个配置文件,其中为FireFox添加了身份验证插件,并使其自动输入。
我已经生成了压缩的base64文件,当我在OSX上运行时,我使用了以下命令,
zip -r profile 3rkomsuo.selenium
openssl base64 -in "profile.zip" -out "profile.zip.b64"
这个文件是24MB的(编辑,禁用了firebug,现在只有4MB,还是不走运)?我只添加了2个插件,firebug和Auth插件,这是很小的!现在,我已经将文件放到了我的web目录中,运行了MAMP,并按照描述发送了配置文件。
$session = $web_driver->session('firefox', array("firefox_profile" => file_get_contents("profile.zip.b64")));
我已经检查了POST,发送了正确的数组,我已经将php.ini中的POST大小增加到64MB以防万一,但是什么都不起作用,仍然加载基本的(没有设置的)配置文件?如果有人能帮上忙,你将是我的英雄,因为我花了几个小时调试它,但没有任何运气!
发布于 2013-01-12 08:15:05
管理设置配置文件,确保您将prefs.js重命名为user.js,并压缩配置文件的文件夹内容,而不是配置文件文件夹本身!
发布于 2013-01-11 07:56:14
如果创建配置文件在您的情况下不起作用,那么您可以使用Autoit来处理身份验证对话框。
Write a few line script in autoit.
Compile it to convert it in exe.
Call that exe before the line which causes the authentication dialog to appear.
https://stackoverflow.com/questions/14271201
复制