本文整理汇总了Java中com.crawljax.core.configuration.CrawljaxConfiguration.CrawljaxConfigurationBuilder.setBrowserConfig方法的典型用法代码示例。如果您正苦于以下问题:Java CrawljaxConfigurationBuilder.setBrowserConfig方法的具体用法?Java CrawljaxConfigurationBuilder.setBrowserConfig怎么用?Java CrawljaxConfigurationBuilder.setBrowserConfig使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.crawljax.core.configuration.CrawljaxConfiguration.CrawljaxConfigurationBuilder
的用法示例。
在下文中一共展示了CrawljaxConfigurationBuilder.setBrowserConfig方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getCrawljaxConfiguration
import com.crawljax.core.configuration.CrawljaxConfiguration.CrawljaxConfigurationBuilder; //导入方法依赖的package包/类
/**
* retrieve / build the CrawljaxConfiguration for the given arguments.
*/
protected CrawljaxConfiguration getCrawljaxConfiguration() {
CrawljaxConfigurationBuilder builder =
CrawljaxConfiguration.builderFor(WEB_SERVER.getSiteUrl());
builder.crawlRules().waitAfterEvent(getTimeOutAfterEvent(), TimeUnit.MILLISECONDS);
builder.crawlRules()
.waitAfterReloadUrl(getTimeOutAfterReloadUrl(), TimeUnit.MILLISECONDS);
builder.setMaximumDepth(3);
builder.crawlRules().clickOnce(true);
builder.setBrowserConfig(getBrowserConfiguration());
addCrawlElements(builder);
builder.crawlRules().setInputSpec(getInputSpecification());
addCrawlConditions(builder);
addOracleComparators(builder);
addInvariants(builder);
addWaitConditions(builder);
addPlugins(builder);
return builder.build();
}
示例2: configureCrawljax
import com.crawljax.core.configuration.CrawljaxConfiguration.CrawljaxConfigurationBuilder; //导入方法依赖的package包/类
/**
* Set Crawljax configuration here
* @param builder
*/
private void configureCrawljax(CrawljaxConfigurationBuilder builder) {
CSSCatcher cssCatcher = new CSSCatcher();
cssCatcher.setOutputFolder(outputFolder + "css/");
builder.addPlugin(new CrawlOverview());
builder.addPlugin(cssCatcher);
//builder.addPlugin(new LoginPlugin());
//builder.crawlRules().clickDefaultElements();
//builder.crawlRules().dontClick("input").withAttribute("value", "I don't recognize");
//builder.crawlRules().click("input").withAttribute("type", "submit");
//builder.crawlRules().dontClick("a").underXPath("//*[@id='pageFooter']");
//builder.crawlRules().dontClick("a").underXPath("//*[@id='content']/div/div[2]");
//System.getProperties().setProperty("webdriver.chrome.driver", "chromedriver.exe");
//builder.setBrowserConfig(new BrowserConfiguration(BrowserType.CHROME, 2));
builder.setBrowserConfig(new BrowserConfiguration(BrowserType.FIREFOX, 1));
builder.crawlRules().insertRandomDataInInputForms(false);
builder.crawlRules().clickElementsInRandomOrder(false);
builder.crawlRules().crawlFrames(true);
builder.crawlRules().dontClick("*");
//com.crawljax.browser.WebDriverBackedEmbeddedBrowser s;
builder.setOutputDirectory(new File(outputFolder + "/crawljax"));
builder.setMaximumDepth(1);
builder.setMaximumStates(2);
builder.crawlRules().waitAfterReloadUrl(20, TimeUnit.MILLISECONDS);
builder.crawlRules().waitAfterEvent(200, TimeUnit.MILLISECONDS);
}
示例3: main
import com.crawljax.core.configuration.CrawljaxConfiguration.CrawljaxConfigurationBuilder; //导入方法依赖的package包/类
/**
* Run this method to start the crawl.
*
* @throws IOException
* when the output folder cannot be created or emptied.
*/
public static void main(String[] args) throws IOException {
CrawljaxConfigurationBuilder builder = CrawljaxConfiguration.builderFor(URL);
builder.crawlRules().insertRandomDataInInputForms(false);
builder.setMaximumRunTime(100, TimeUnit.SECONDS);
// click these elements
builder.crawlRules().clickDefaultElements();
builder.crawlRules().click("div").withAttribute("class", "clickable");
// but don't click these
builder.crawlRules().dontClick("a").withAttribute("class", "ignore");
builder.crawlRules().dontClick("a").underXPath("//DIV[@id='footer']");
// Set timeouts
builder.crawlRules().waitAfterReloadUrl(WAIT_TIME_AFTER_RELOAD, TimeUnit.MILLISECONDS);
builder.crawlRules().waitAfterEvent(WAIT_TIME_AFTER_EVENT, TimeUnit.MILLISECONDS);
// Add a condition that this XPath doesn't exits
builder.crawlRules().addCrawlCondition("No spans with foo as class",
new NotXPathCondition("//*[@class='foo']"));
// Set some input for fields
builder.crawlRules().setInputSpec(getInputSpecification());
// This will generate a nice output in the output directory.
File outFolder = new File("output");
if (outFolder.exists()) {
FileUtils.deleteDirectory(outFolder);
}
builder.setOutputDirectory(outFolder);
builder.addPlugin(new CrawlOverview());
// We want to use two browsers simultaneously.
builder.setBrowserConfig(new BrowserConfiguration(BrowserType.FIREFOX, 1));
CrawljaxRunner crawljax = new CrawljaxRunner(builder.build());
crawljax.call();
}
示例4: readConfig
import com.crawljax.core.configuration.CrawljaxConfiguration.CrawljaxConfigurationBuilder; //导入方法依赖的package包/类
private CrawljaxConfiguration readConfig(String urlValue, String outputDir) {
CrawljaxConfigurationBuilder builder = CrawljaxConfiguration.builderFor(urlValue);
builder.setOutputDirectory(new File(outputDir));
BrowserType browser = BrowserType.FIREFOX;
if (options.specifiesBrowser()) {
browser = options.getSpecifiedBrowser();
}
int browsers = 1;
if (options.specifiesParallelBrowsers()) {
browsers = options.getSpecifiedNumberOfBrowsers();
}
if (browser == BrowserType.REMOTE) {
String remoteUrl = options.getSpecifiedRemoteBrowser();
builder.setBrowserConfig(BrowserConfiguration.remoteConfig(browsers, remoteUrl));
} else {
builder.setBrowserConfig(new BrowserConfiguration(browser, browsers));
}
if (options.specifiesDepth()) {
builder.setMaximumDepth(options.getSpecifiedDepth());
}
if (options.specifiesMaxStates()) {
builder.setMaximumStates(options.getMaxStates());
}
if (options.requestsCrawlHiddenAnchors()) {
builder.crawlRules().crawlHiddenAnchors(true);
}
configureTimers(builder);
builder.addPlugin(new CrawlOverview());
if (options.specifiesClickElements()) {
builder.crawlRules().click(options.getSpecifiedClickElements());
} else {
builder.crawlRules().clickDefaultElements();
}
return builder.build();
}