我正在使用Selenium构建一个工具,该工具允许将图像从单个用户界面上传到多个Instagram帐户。问题是,当我登录时,它无法准确地模拟Firefox Mobile浏览器,因此不允许我使用上传图像发布选项,该选项在Instagram网站的仅限移动版中可用。
我的浏览器配置代码为:
String user_agent = "Mozilla/5.0 (iPhone; CPU OS 11_0 like Mac OS X) AppleWebKit/604.1.25 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1";
FirefoxProfile ffp = new FirefoxProfile();
ffp.setPreference( "general.useragent.override", user_agent );
WebDriver driver = new FirefoxDriver();
driver.manage().window().setSize( new Dimension( 540, 960 ) );
driver.manage().timeouts().setScriptTimeout(1, TimeUnit.SECONDS);
尽管我已经在代码中成功导入了Selenium库的这一部分,但是我无法使用DesiredCapabilities类来允许设置设备。
import org.openqa.selenium.MutableCapabilities;
这个问题很可能是由于我无法加载该库,但是我不确定。
我已经省略了获取instagram.com并登录到instagram帐户的代码,目的是使材料保持在该问题中。
现在,当我使用Selenium登录到Instagram时,它显示以下屏幕,不允许我通过文件上传发布图像:
但是,当我使用Firefox开发人员工具将设备设置为iPhone 6/7/8登录时,我可以访问网站的移动表单。