gpt4 book ai didi

java - Selenium 2 WebDriver 使用自定义配置文件

转载 作者:搜寻专家 更新时间:2023-11-01 03:13:41 24 4
gpt4 key购买 nike

我正在尝试自动与生成 MIME 类型 application/vnd.wap.xhtml+xml 文档的网站进行交互。我正在使用 Selenium 2、WebDriver 和 FirefoxProfile。

因为 Firefox 不处理上述 MIME 类型,我需要使用 XHTML 移动配置文件扩展 (https://addons.mozilla.org/en-US/firefox/addon/1345/) 运行 Firefox。

在创建 FireFox 配置文件后——我将其命名为“selenium”——并安装了移动配置文件扩展,我尝试使用“Selenium 2.0 和 WebDriver”文档 (http://seleniumhq.org/docs/09_webdriver.html#htmlunit-driver)。

方法 #1 如下所示:

ProfilesIni allProfiles = new ProfilesIni();
FirefoxProfile profile = allProfiles.getProfile("selenium");
profile.setPreference("general.useragent.override", "User Agent string to force application/vnd.wap.xhtml+xml content..");
FirefoxDriver driver = new FirefoxDriver(profile);
driver.get("http://www.mobilesite.com/");
WebElement element = driver.findElement(By.tagName("body"));

方法 #2 如下所示:

File profileDir = new File("/path/to/custom/profile/with/extension/ffprofile");
FirefoxProfile profile = new FirefoxProfile(profileDir);
profile.setPreference("general.useragent.override", "same user agent string as above");
FirefoxDriver driver = new FirefoxDriver(profile);
driver.get("http://www.mobilesite.com/");

无论我使用什么代码片段,启动的浏览器实例总是无法处理生成的内容;浏览器提示我对无法识别的 MIME 类型的内容采取操作,就好像扩展名未正确配置一样。

关于我可能做错了什么有什么想法吗?

提前致谢

编辑:Link to Selenium users group post .

最佳答案

尝试从一个空白配置文件开始并在运行时添加扩展/配置:

public WebDriver getDriver() {
FirefoxProfile profile = new FirefoxProfile();

// add any custom firefox configurations...
profile.setPreference("general.useragent.override", "some UA string");
profile.setPreference("javascript.options.showInConsole", true);
profile.setPreference("dom.max_script_run_time", 0);

// might have to uninstall, search for *.xpi, then reinstall, then search
// again and compare to find the location on your system
// ...you should probably copy this into your selenium resources directory!
File modifyHeadersXpi = new File("/home/joecoder/.mozilla/firefox/dll8peh9.default/extensions/{b749fc7c-e949-447f-926c-3f4eed6accfe}.xpi");
if (modifyHeadersXpi.exists()) {
try {
profile.addExtension(modifyHeadersXpi);
profile.setPreference("modifyheaders.config.active", true);
profile.setPreference("modifyheaders.config.openNewTab", true);
profile.setPreference("modifyheaders.config.migrated", true);
profile.setPreference("modifyheaders.autocomplete.name.defaults",
"[\"Accept\",\"Cache-Control\",\"Cookie\",\"Content-Length\",\"Content-Type\",\"Date\",\"Host\",\"Pragma\",\"Referer\",\"User-Agent\",\"Via\",\"X-Requested-With\",\"X-Forwarded-For\",\"X-Do-Not-Track\"]");
}
catch (IOException e) { /* uh oh */ }
}
return new FirefoxDriver(profile);
}

关于java - Selenium 2 WebDriver 使用自定义配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4599763/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com