List of usage examples for org.openqa.selenium WebDriver manage
Options manage();
From source file:br.com.mundotigre.scripts.WaitTool.java
License:Open Source License
/** * Coming to implicit wait, If you have set it once then you would have to explicitly set it to zero to nullify it - *///from w w w. j a va 2 s. co m public static void nullifyImplicitWait(WebDriver driver) { driver.manage().timeouts().implicitlyWait(0, TimeUnit.SECONDS); //nullify implicitlyWait() }
From source file:br.com.mundotigre.scripts.WaitTool.java
License:Open Source License
/** * Reset ImplicitWait. //from ww w . j a va 2 s. c om * To reset ImplicitWait time you would have to explicitly * set it to zero to nullify it before setting it with a new time value. */ public static void resetImplicitWait(WebDriver driver) { driver.manage().timeouts().implicitlyWait(0, TimeUnit.SECONDS); //nullify implicitlyWait() driver.manage().timeouts().implicitlyWait(DEFAULT_WAIT_4_PAGE, TimeUnit.SECONDS); //reset implicitlyWait }
From source file:br.com.mundotigre.scripts.WaitTool.java
License:Open Source License
/** * Reset ImplicitWait. // www. jav a 2 s . c o m * @param int - a new wait time in seconds */ public static void resetImplicitWait(WebDriver driver, int newWaittime_InSeconds) { driver.manage().timeouts().implicitlyWait(0, TimeUnit.SECONDS); //nullify implicitlyWait() driver.manage().timeouts().implicitlyWait(newWaittime_InSeconds, TimeUnit.SECONDS); //reset implicitlyWait }
From source file:businesscomponents.ReportCompare1.java
public static void main(String[] args) throws InterruptedException { // TODO Auto-generated method stub WebDriver driver = new FirefoxDriver(); driver.get("http://148.173.174.122:8900/acadmin/?serverURL=http://wpqwa551:8000"); driver.manage().window().maximize(); String strUserName = "kgoutham"; String strPassWord = "kgoutham"; driver.findElement(By.name("userID")).clear(); driver.findElement(By.name("userID")).sendKeys(strUserName); driver.findElement(By.name("Password")).clear(); driver.findElement(By.name("Password")).sendKeys(strPassWord); driver.findElement(By.name("loginBtn")).click(); Thread.sleep(1200);//from w ww . ja v a2 s .c o m System.out.println("Page title is: " + driver.getTitle()); if (driver.getTitle().contains("Files & Folders")) { driver.findElement(By.id("Jobs")).click(); Thread.sleep(2500); driver.switchTo().defaultContent(); WebElement frame = driver.findElement(By.id("TableFrame")); driver.switchTo().frame(frame); Thread.sleep(1200); if (driver.findElement(By.xpath("//a[contains(@onmouseover,'completedjobs')]")).isDisplayed()) { try { JavascriptExecutor executor = (JavascriptExecutor) driver; executor.executeScript("arguments[0].click();", driver.findElement(By.xpath("//a[contains(@onmouseover,'completedjobs')]"))); } catch (Exception e) { driver.findElement(By.xpath("//a[contains(@onmouseover,'completedjobs')]")).click(); } System.out.println("Clicking on Completed Tabs"); } else { System.out.println("Failed:Unable to Find the Completed Tab section"); } Thread.sleep(1200); WebElement frame1 = driver.findElement(By.id("TableFrame")); driver.switchTo().frame(frame1); String strValue = "MRF412"; driver.findElement(By.id("FilterText")).clear(); driver.findElement(By.id("FilterText")).sendKeys(strValue); Thread.sleep(1200); driver.findElement(By.xpath("//input[@value='Apply']")).click(); Thread.sleep(3500); WebElement frame2 = driver.findElement(By.id("ifrListFrame")); driver.switchTo().frame(frame2); if (driver.findElement(By.xpath("(//a[contains(text(),'MRF412_reportcheck.ROI')])[1]")).isDisplayed()) { String oldTab = driver.getWindowHandle(); driver.findElement(By.xpath("(//a[contains(text(),'MRF412_reportcheck.ROI')])[1]")).click(); Thread.sleep(5000); ArrayList<String> newTab = new ArrayList<String>(driver.getWindowHandles()); newTab.remove(oldTab); // change focus to new tab driver.switchTo().window(newTab.get(0)); WebElement frame3 = driver.findElement(By.id("reportframe")); driver.switchTo().frame(frame3); String strPageSource = driver.getPageSource(); CommonData.strPageSource = strPageSource; String strPageTitle = driver.findElement(By.xpath("//div[contains(@id,'water')]")).getText(); CommonData.strPageTitle = strPageTitle; if (strPageTitle.contains("MultiUserTest License")) { System.out.println("Verifying the MultiUserTest License page is displayed"); List<WebElement> products = driver .findElements(By.xpath("//div[contains(@onmouseover,'Partner Name')]")); ArrayList<String> strPartnerName = CommonData.strPartnerName; ArrayList<String> strInvoiceNumber = CommonData.strInvoiceNumber; ArrayList<String> strTotalPayment = CommonData.strTotalPayment; ArrayList<String> strSENumber = CommonData.strSENumber; ArrayList<String> strPaymentMarket = CommonData.strPaymentMarket; ArrayList<String> strPaymentunit = CommonData.strPaymentunit; ArrayList<String> strLiabilityUnit = CommonData.strLiabilityUnit; ArrayList<String> strLiabilityCurrency = CommonData.strLiabilityCurrency; ArrayList<String> strMarketCurrency = CommonData.strMarketCurrency; ArrayList<String> strInvoiceReleaseDate = CommonData.strInvoiceReleaseDate; ArrayList<String> strUserId = CommonData.strUserId; for (int i = 1; i <= products.size(); i++) { System.out.println( "-----------------DISPLAYING LIST OF TABLE VALUES----------------------->: " + i); String strPartnerNameList = driver .findElement(By.xpath("(//div[contains(@onmouseover,'Partner Name')])[" + i + "]")) .getText(); strPartnerName.add(strPartnerNameList); System.out.println("Displaying the Partner Name list :" + strPartnerNameList); String strInvoiceNumberList = driver .findElement( By.xpath("(//div[contains(@onmouseover,'Invoice Number')])[" + i + "]")) .getText(); strInvoiceNumber.add(strInvoiceNumberList); System.out.println("Displaying the Invoice Number list :" + strInvoiceNumberList); String strTotalPaymentList; if (i > 1) { int j; if (i == 3) { j = i + 2; } else { j = i + 1; } strTotalPaymentList = driver .findElement( By.xpath("(//div[contains(@onmouseover,'Total Payment')])[" + j + "]")) .getText(); } else { strTotalPaymentList = driver .findElement( By.xpath("(//div[contains(@onmouseover,'Total Payment')])[" + i + "]")) .getText(); } strTotalPayment.add(strTotalPaymentList); System.out.println("Displaying the Total Payment list :" + strTotalPaymentList); String strSENumberList = driver .findElement(By.xpath("(//div[contains(@onmouseover,'SE Number')])[" + i + "]")) .getText(); strSENumber.add(strSENumberList); System.out.println("Displaying the SE Number list :" + strSENumberList); String strPaymentMarketList = driver .findElement( By.xpath("(//div[contains(@onmouseover,'Payment Market')])[" + i + "]")) .getText(); strPaymentMarket.add(strPaymentMarketList); System.out.println("Displaying the Payment Market list :" + strPaymentMarketList); String strPaymentUnitList = driver .findElement(By.xpath("(//div[contains(@onmouseover,'Payment Unit')])[" + i + "]")) .getText(); strPaymentunit.add(strPaymentUnitList); System.out.println("Displaying the Payment Unit list :" + strPaymentUnitList); String strLiabilityUnitList = driver .findElement( By.xpath("(//div[contains(@onmouseover,'Liability Unit')])[" + i + "]")) .getText(); strLiabilityUnit.add(strLiabilityUnitList); System.out.println("Displaying the Liability Unit list :" + strLiabilityUnitList); String strLiabilityCurrencyList = driver .findElement( By.xpath("(//div[contains(@onmouseover,'Liability Currency')])[" + i + "]")) .getText(); strLiabilityCurrency.add(strLiabilityCurrencyList); System.out.println("Displaying the Liability Currency list :" + strLiabilityCurrencyList); String strMarketCurrencyList = driver .findElement( By.xpath("(//div[contains(@onmouseover,'Market Currency')])[" + i + "]")) .getText(); strMarketCurrency.add(strMarketCurrencyList); System.out.println("Displaying the Market Currency list :" + strMarketCurrencyList); String strInvoiceReleaseDateList; if (i > 1) { int j; if (i == 3) { j = i + 2; } else { j = i + 1; } strInvoiceReleaseDateList = driver.findElement(By.xpath( "(//div[contains(@onmouseover,'This is the difference in cost between Invoice Total and Market Totals')]/nobr)[" + j + "]")) .getText(); } else { strInvoiceReleaseDateList = driver.findElement(By.xpath( "(//div[contains(@onmouseover,'This is the difference in cost between Invoice Total and Market Totals')]/nobr)[" + i + "]")) .getText(); } strInvoiceReleaseDate.add(strInvoiceReleaseDateList); System.out .println("Displaying the Invoice release date list :" + strInvoiceReleaseDateList); String strUserIDList = driver .findElement(By.xpath("(//div[contains(@onmouseover,'USER ID')])[" + i + "]")) .getText(); strUserId.add(strUserIDList); System.out.println("Displaying the UserId list :" + strUserIDList); } // for (int i = 0; i < products.size(); i++) { // System.out.println("############ CHECKING ########################"); // System.out.println(CommonData.strInvoiceNumber.get(i) + " Invoice Number"); // System.out.println(CommonData.strInvoiceReleaseDate.get(i) + " Invoice Release Date"); // System.out.println(CommonData.strTotalPayment.get(i) + " Total Payment"); // // } } else { System.out.println("MultiUserTest License is not displayed"); } driver.switchTo().defaultContent(); driver.close(); driver.switchTo().window(oldTab); // driver.get(" // http://148.173.174.122:8900/acadmin/?serverURL=http://wpqwa551:8000"); driver.get( "http://148.173.174.122:8900/acadmin/jobmanager.jsp?serverURL=http%3a%2f%2fwpqwa551%3a8000&volume=wpqwa551&daemonURL=http://wpqwa551:8100&daemonURL=http://wpqwa551:8100"); if (driver.findElement(By.xpath("//td[contains(text(),'System')]")).isDisplayed()) { System.out.println("--------------##### Focus Changed to old window #### -----------"); } else { System.out.println("---------Focus not changed---------------"); } driver.switchTo().defaultContent(); WebElement postframe = driver.findElement(By.id("TableFrame")); driver.switchTo().frame(postframe); Thread.sleep(1200); if (driver.findElement(By.xpath("//a[contains(@onmouseover,'completedjobs')]")).isDisplayed()) { try { JavascriptExecutor executor = (JavascriptExecutor) driver; executor.executeScript("arguments[0].click();", driver.findElement(By.xpath("//a[contains(@onmouseover,'completedjobs')]"))); } catch (Exception e) { driver.findElement(By.xpath("//a[contains(@onmouseover,'completedjobs')]")).click(); } System.out.println("Clicking on Completed Tabs"); } else { System.out.println("Failed:Unable to Find the Completed Tab section"); } Thread.sleep(5000); WebElement postframe1 = driver.findElement(By.id("TableFrame")); driver.switchTo().frame(postframe1); String strPostValue = "MRF412"; driver.findElement(By.id("FilterText")).clear(); driver.findElement(By.id("FilterText")).sendKeys(strPostValue); Thread.sleep(1200); driver.findElement(By.xpath("//input[@value='Apply']")).click(); Thread.sleep(3500); WebElement postframe2 = driver.findElement(By.id("ifrListFrame")); driver.switchTo().frame(postframe2); String postoldTab = driver.getWindowHandle(); driver.findElement(By.xpath("(//a[contains(text(),'MRF412_reportcheck.ROI')])[1]")).click(); Thread.sleep(5000); ArrayList<String> newTab_1 = new ArrayList<String>(driver.getWindowHandles()); newTab_1.remove(postoldTab); // change focus to new tab driver.switchTo().window(newTab_1.get(0)); WebElement postframe3 = driver.findElement(By.id("reportframe")); driver.switchTo().frame(postframe3); System.out.println("-############## COMPARING PRE-REPORT and POST-REPORT-##############--"); // String strPostPageSource = driver.getPageSource(); String strPostPageTitle = driver.findElement(By.xpath("//div[contains(@id,'water')]")).getText(); if (strPostPageTitle.contains(CommonData.strPageTitle)) { System.out.println( "Passed : Page Title is matching with Pre-report and Post-Report " + strPostPageTitle); for (int i = 1, k = 0; i <= CommonData.strPartnerName.size(); i++, k++) { System.out.println( "----------------->>> COMPARING LIST OF TABLE VALUES FORM PRE-REPORT AND POST-REPORT ----------------------->>>: " + i); String strPostPartnerNameList = driver .findElement(By.xpath("(//div[contains(@onmouseover,'Partner Name')])[" + i + "]")) .getText(); if (CommonData.strPartnerName.get(k).contains(strPostPartnerNameList)) { System.out.println("Passed : Partner Name is matching with Pre-report and Post-Report :" + strPostPartnerNameList); } else { System.out.println( "Failed : Partner Name is not matching with Pre-report and Post-Report :" + strPostPartnerNameList); } String strPostInvoiceNumberList = driver .findElement( By.xpath("(//div[contains(@onmouseover,'Invoice Number')])[" + i + "]")) .getText(); if (CommonData.strInvoiceNumber.get(k).contains(strPostInvoiceNumberList)) { System.out.println( "Passed : Post Invoice Number is matching with Pre-report and Post-Report :" + strPostInvoiceNumberList); } else { System.out.println( "Failed : Post Invoice Number is not matching with Pre-report and Post-Report :" + strPostInvoiceNumberList); } String strPostTotalPaymentList; if (i > 1) { int j; if (i == 3) { j = i + 2; } else { j = i + 1; } strPostTotalPaymentList = driver .findElement( By.xpath("(//div[contains(@onmouseover,'Total Payment')])[" + j + "]")) .getText(); if (CommonData.strTotalPayment.get(k).contains(strPostTotalPaymentList)) { System.out.println( "Passed : Total Payment List is matching with Pre-report and Post-Report :" + strPostTotalPaymentList); } else { System.out.println( "Failed : Total Payment List is not matching with Pre-report and Post-Report :" + strPostTotalPaymentList); } } else { strPostTotalPaymentList = driver .findElement( By.xpath("(//div[contains(@onmouseover,'Total Payment')])[" + i + "]")) .getText(); if (CommonData.strTotalPayment.get(k).contains(strPostTotalPaymentList)) { System.out.println( "Passed : Total Payment List is matching with Pre-report and Post-Report :" + strPostTotalPaymentList); } else { System.out.println( "Failed : Total Payment List is not matching with Pre-report and Post-Report :" + strPostTotalPaymentList); } } String strPostSENumberList = driver .findElement(By.xpath("(//div[contains(@onmouseover,'SE Number')])[" + i + "]")) .getText(); if (CommonData.strSENumber.get(k).contains(strPostSENumberList)) { System.out .println("Passed : SE Number List is matching with Pre-report and Post-Report :" + strPostSENumberList); } else { System.out.println( "Failed : SE Number List is not matching with Pre-report and Post-Report :" + strPostSENumberList); } String strPostPaymentMarketList = driver .findElement( By.xpath("(//div[contains(@onmouseover,'Payment Market')])[" + i + "]")) .getText(); if (CommonData.strPaymentMarket.get(k).contains(strPostPaymentMarketList)) { System.out .println("Passed : Payment Market is matching with Pre-report and Post-Report :" + strPostPaymentMarketList); } else { System.out.println( "Failed : Payment Market is not matching with Pre-report and Post-Report :" + strPostPaymentMarketList); } String strPostPaymentUnitList = driver .findElement(By.xpath("(//div[contains(@onmouseover,'Payment Unit')])[" + i + "]")) .getText(); if (CommonData.strPaymentunit.get(k).contains(strPostPaymentUnitList)) { System.out.println( "Passed : Payment Unit list is matching with Pre-report and Post-Report :" + strPostPaymentUnitList); } else { System.out.println( "Failed : Payment Unit list is not matching with Pre-report and Post-Report :" + strPostPaymentUnitList); } String strPostLiabilityUnitList = driver .findElement( By.xpath("(//div[contains(@onmouseover,'Liability Unit')])[" + i + "]")) .getText(); if (CommonData.strLiabilityUnit.get(k).contains(strPostLiabilityUnitList)) { System.out.println( "Passed : Liability Unit list is matching with Pre-report and Post-Report :" + strPostLiabilityUnitList); } else { System.out.println( "Failed : Liability Unit list is not matching with Pre-report and Post-Report :" + strPostLiabilityUnitList); } String strPostLiabilityCurrencyList = driver .findElement( By.xpath("(//div[contains(@onmouseover,'Liability Currency')])[" + i + "]")) .getText(); if (CommonData.strLiabilityCurrency.get(k).contains(strPostLiabilityCurrencyList)) { System.out.println( "Passed : Liability Currency list is matching with Pre-report and Post-Report :" + strPostLiabilityCurrencyList); } else { System.out.println( "Failed : Liability Currency list is not matching with Pre-report and Post-Report :" + strPostLiabilityCurrencyList); } String strPostMarketCurrencyList = driver .findElement( By.xpath("(//div[contains(@onmouseover,'Market Currency')])[" + i + "]")) .getText(); if (CommonData.strMarketCurrency.get(k).contains(strPostMarketCurrencyList)) { System.out.println( "Passed : Market Currency list is matching with Pre-report and Post-Report :" + strPostMarketCurrencyList); } else { System.out.println( "Failed : Market Currency list is not matching with Pre-report and Post-Report :" + strPostMarketCurrencyList); } String strPostInvoiceReleaseDateList; if (i > 1) { int j; if (i == 3) { j = i + 2; } else { j = i + 1; } strPostInvoiceReleaseDateList = driver.findElement(By.xpath( "(//div[contains(@onmouseover,'This is the difference in cost between Invoice Total and Market Totals')]/nobr)[" + j + "]")) .getText(); if (CommonData.strInvoiceReleaseDate.get(k).contains(strPostInvoiceReleaseDateList)) { System.out.println( "Passed : Invoice Release Date list is matching with Pre-report and Post-Report :" + strPostInvoiceReleaseDateList); } else { System.out.println( "Failed : Invoice Release Date list is not matching with Pre-report and Post-Report :" + strPostInvoiceReleaseDateList); } } else { strPostInvoiceReleaseDateList = driver.findElement(By.xpath( "(//div[contains(@onmouseover,'This is the difference in cost between Invoice Total and Market Totals')]/nobr)[" + i + "]")) .getText(); if (CommonData.strInvoiceReleaseDate.get(k).contains(strPostInvoiceReleaseDateList)) { System.out.println( "Passed : Invoice Release Date list is matching with Pre-report and Post-Report :" + strPostInvoiceReleaseDateList); } else { System.out.println( "Failed : Invoice Release Date list is not matching with Pre-report and Post-Report :" + strPostInvoiceReleaseDateList); } } String strPostUserIDList = driver .findElement(By.xpath("(//div[contains(@onmouseover,'USER ID')])[" + i + "]")) .getText(); if (CommonData.strUserId.get(k).contains(strPostUserIDList)) { System.out.println("Passed : User ID list is matching with Pre-report and Post-Report :" + strPostUserIDList); } else { System.out.println( "Failed : User ID list is not matching with Pre-report and Post-Report :" + strPostUserIDList); } } driver.switchTo().defaultContent(); driver.close(); driver.switchTo().window(postoldTab); System.out.println( "########################## COMPLETED VALIDATIONS ALL ARE MATCHING ##################################"); } else { System.out.println("Failed : Page Title is not matching with Pre-report and Post-Report"); } } else { System.out.println("Failed to open the Multi user license page"); } } else { System.out.println("Unable to open the Files and folder page after login"); } driver.quit(); }
From source file:businesscomponents.ReportcomparisonComponents1.java
public boolean waitForElement(WebDriver driver, By by, int time) { boolean flag; try {// ww w.j a va 2s . c om driver.manage().timeouts().implicitlyWait(50, TimeUnit.SECONDS); assertTrue((isElementPresent(driver, by))); WebDriverWait wait = new WebDriverWait(driver, time); WebElement myElement = wait.until(ExpectedConditions.visibilityOfElementLocated(by)); driver.manage().timeouts().implicitlyWait(50, TimeUnit.SECONDS); if (myElement != null) flag = true; else flag = false; } catch (Exception e) { System.out.println(e.toString()); flag = false; } return flag; }
From source file:businesscomponents.ReportcomparisonComponents1.java
public static boolean waitForElementForSecond(WebDriver driver, By by, int time) { boolean flag; try {/* www . j ava 2 s. c o m*/ WebDriverWait wait = new WebDriverWait(driver, time); WebElement myElement = wait.until(ExpectedConditions.visibilityOfElementLocated(by)); driver.manage().timeouts().implicitlyWait(4, TimeUnit.SECONDS); if (myElement != null) flag = true; else flag = false; } catch (Exception e) { System.out.println(e.toString()); flag = false; } return flag; }
From source file:ca.pe.cjsigouin.testinator.selenium.WebDriverMain.java
public static void main(String[] args) { System.setProperty("webdriver.gecko.driver", "/home/krystofurr/Programs/selenium/geckodriver"); System.setProperty("webdriver.chrome.driver", "/home/krystofurr/Programs/selenium/chromedriver"); // WebDriver driver = new FirefoxDriver(); WebDriver driver = new ChromeDriver(); // WebDriver driver = new InternetExplorerDriver(); //Puts an Implicit wait, Will wait for 10 seconds before throwing exception driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); //Launch website driver.navigate().to(CommonConstants.HOST + CommonConstants.URL_LOGIN); driver.findElement(By.id("emailAddress")).sendKeys("cjsigouin@gov.pe.ca"); driver.findElement(By.id("password")).sendKeys("Test12345!"); driver.findElement(By.id("loginButton")).click(); WebDriverWait wait = new WebDriverWait(driver, 5); wait.until(/*from ww w. j a v a2 s . c om*/ ExpectedConditions.elementToBeClickable(By.xpath(".//*[@id='serviceWellSection']/div[2]/div/a/b"))); driver.get(CommonConstants.HOST + CommonConstants.URL_RESERVE_NAME_INTRO); WebDriverWait wait2 = new WebDriverWait(driver, 5); wait2.until(ExpectedConditions.elementToBeClickable(By.xpath(ReserveNameElement.INTRO_BUTTON_CANCEL))); driver.findElement(By.xpath(ReserveNameElement.INTRO_RADIO_RESERVE_NAME)).click(); // driver.findElement(By.xpath(ReserveNameElement.INTRO_SELECT_COMPANY_TYPE)).sendKeys("Incorp"); Select dropdown = new Select(driver.findElement(By.xpath(ReserveNameElement.INTRO_SELECT_COMPANY_TYPE))); dropdown.selectByVisibleText("Incorporated"); driver.findElement(By.xpath(ReserveNameElement.INTRO_BUTTON_NEXT)).click(); // WebDriver driver = new FirefoxDriver(); // LoginTester login = new LoginTester(driver); // IncorporatedTester tester = new IncorporatedTester(driver); // // login.start(); // //Maximize the browser // driver.manage().window().maximize(); // tester.start(); // tester.stop(); // // Click on Math Calculators // driver.findElement(By.xpath(".//*[@id='hcalc']/table/tbody/tr/td[2]/div[3]/a")).click(); // // // Click on Percent Calculators // driver.findElement(By.xpath(".//*[@id='content']/ul[1]/li[3]/a")).click(); // // // Enter value 10 in the first number of the percent Calculator // driver.findElement(By.id("cpar1")).sendKeys(data.getNumberText(2)); // // // Enter value 50 in the second number of the percent Calculator // driver.findElement(By.id("cpar2")).sendKeys(data.getNumberText(2)); // // // Click Calculate Button // driver.findElement(By.xpath(".//*[@id='content']/table[1]/tbody/tr[2]/td/input[2]")).click(); // // // // Get the Result Text based on its xpath // String result = driver.findElement(By.xpath(".//*[@id='content']/p[2]/font/b")).getText(); // // // // Print a Log In message to the screen // System.out.println(" The Result is " + result); //Close the Browser. driver.close(); }
From source file:cn.edu.hfut.dmic.webcollector.example.FirefoxSelenium3.java
License:Open Source License
public static void main(String[] args) throws Exception { Executor executor = new Executor() { @Override/*from w w w . j a va 2 s .c o m*/ public void execute(CrawlDatum datum, CrawlDatums next) throws Exception { MongoClient mongoClient = new MongoClient("localhost", 27017); // ? // DBCollection dbCollection = mongoClient.getDB("maoyan_crawler").getCollection("rankings_am"); DB db = mongoClient.getDB("maoyan_crawler"); // ????? Set<String> colls = db.getCollectionNames(); for (String s : colls) { // Collection(?"") if (s.equals("attend_rate")) { db.getCollection(s).drop(); } } DBCollection dbCollection = db.getCollection("attend_rate"); ProfilesIni pi = new ProfilesIni(); FirefoxProfile profile = pi.getProfile("default"); WebDriver driver = new FirefoxDriver(profile); driver.manage().window().maximize(); driver.manage().timeouts().pageLoadTimeout(3, TimeUnit.SECONDS); // driver.setJavascriptEnabled(false); driver.get(datum.getUrl()); // System.out.println(driver.getPageSource()); driver.findElement(By.xpath("//*[@id='seat_city']")).click(); driver.switchTo().window(driver.getWindowHandle()); int city_num = driver.findElements(By.xpath("//div[@id='all-citys']/div/ul/li/a")).size(); for (int i = 0; i < city_num; i++) { System.out.println("A city chosen" + i); System.out.println( driver.findElements(By.xpath("//div[@id='all-citys']/div/ul/li/a")).get(i).getText()); String city = driver.findElements(By.xpath("//div[@id='all-citys']/div/ul/li/a")).get(i) .getText(); ((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", driver.findElements(By.xpath("//div[@id='all-citys']/div/ul/li/a")).get(i)); ((JavascriptExecutor) driver).executeScript("window.scrollBy(0, -250)", ""); Thread.sleep(1000); new Actions(driver) .moveToElement( driver.findElements(By.xpath("//div[@id='all-citys']/div/ul/li/a")).get(i)) .click().perform(); driver.switchTo().window(driver.getWindowHandle()); // System.out.println(driver.findElement(By.xpath("//span[@class='today']/em")).getText()); System.out.println(driver.findElement(By.xpath("//span[@class='today']")).getText()); for (int j = 0; j < driver .findElements(By.xpath("//div[@id='seat_table']//ul//li[@class='c1 lineDot']")) .size(); j++) { System.out.println(driver .findElements(By.xpath("//div[@id='seat_table']//ul//li[@class='c1 lineDot']")) .get(j).getText()); System.out.println( driver.findElements(By.xpath("//div[@id='seat_table']//ul//li[@class='c2 red']")) .get(j).getText()); System.out.println( driver.findElements(By.xpath("//div[@id='seat_table']//ul//li[@class='c3 gray']")) .get(j).getText()); BasicDBObject dbObject = new BasicDBObject(); dbObject.append("title", driver.findElement(By.xpath("//span[@class='today']")).getText()) .append("city", city) .append("mov_cnname", driver.findElements( By.xpath("//div[@id='seat_table']//ul//li[@class='c1 lineDot']")) .get(j).getText()) .append("boxoffice_rate", driver .findElements(By.xpath("//div[@id='seat_table']//ul//li[@class='c2 red']")) .get(j).getText()) .append("visit_pershow", driver .findElements(By.xpath("//div[@id='seat_table']//ul//li[@class='c3 gray']")) .get(j).getText()); dbCollection.insert(dbObject); } System.out.println("new city list to choose"); new Actions(driver).moveToElement(driver.findElement(By.xpath("//*[@id='seat_city']"))).click() .perform(); driver.switchTo().window(driver.getWindowHandle()); Thread.sleep(500); } driver.close(); driver.quit(); mongoClient.close(); } }; //DBDBManager DBManager manager = new BerkeleyDBManager("crawl"); //Crawler?DBManagerExecutor Crawler crawler = new Crawler(manager, executor); crawler.addSeed("http://pf.maoyan.com/attend/rate"); crawler.start(1); }
From source file:cn.edu.hfut.dmic.webcollector.example.FirefoxSelenium4.java
License:Open Source License
public static void main(String[] args) throws Exception { Executor executor = new Executor() { @Override//from w w w . ja va 2 s .co m public void execute(CrawlDatum datum, CrawlDatums next) throws Exception { MongoClient mongoClient = new MongoClient("localhost", 27017); // ? // DBCollection dbCollection = mongoClient.getDB("maoyan_crawler").getCollection("rankings_am"); DB db = mongoClient.getDB("maoyan_crawler"); // ????? Set<String> colls = db.getCollectionNames(); for (String s : colls) { // Collection(?"") if (s.equals("rankings_am")) { db.getCollection(s).drop(); } } DBCollection dbCollection = db.getCollection("attend_rate"); ProfilesIni pi = new ProfilesIni(); FirefoxProfile profile = pi.getProfile("default"); WebDriver driver = new FirefoxDriver(profile); driver.manage().timeouts().pageLoadTimeout(3, TimeUnit.SECONDS); // driver.setJavascriptEnabled(false); driver.get(datum.getUrl()); // System.out.println(driver.getPageSource()); List<WebElement> movie_name = driver .findElements(By.xpath("//div[@id='seat_table']//ul//li[@class='c1 lineDot']")); List<WebElement> boxoffice_rate = driver .findElements(By.xpath("//div[@id='seat_table']//ul//li[@class='c2 red']")); List<WebElement> visit_pershow = driver .findElements(By.xpath("//div[@id='seat_table']//ul//li[@class='c3 gray']")); WebElement title = driver.findElement(By.xpath("//span[@class='today']/em")); WebElement title2 = driver.findElement(By.xpath("//span[@class='today']")); System.out.println(title.getText()); System.out.println(title.getText()); for (int i = 0; i < movie_name.size(); i++) { System.out.println(movie_name.get(i).getText()); System.out.println(boxoffice_rate.get(i).getText()); System.out.println(visit_pershow.get(i).getText()); // BasicDBObject dbObject = new BasicDBObject(); // dbObject.append("title", title).append("rank", amList.get(0)).append("mov_cnname", cn_name).append("mov_enname", en_name).append("toweek_rev", amList.get(2)).append("total_rev", amList.get(3)).append("val_week", amList.get(4)); // dbCollection.insert(dbObject); } driver.quit(); } }; //DBDBManager DBManager manager = new BerkeleyDBManager("crawl"); //Crawler?DBManagerExecutor Crawler crawler = new Crawler(manager, executor); crawler.addSeed("http://pf.maoyan.com/attend/rate"); crawler.start(1); }
From source file:com.arcbees.test.CurrentScenarioAspect.java
License:Apache License
private void initWebDriver(WebDriver webDriver) { if (implicitWait > 0) { webDriver.manage().timeouts().implicitlyWait(implicitWait, TimeUnit.MILLISECONDS); }/* w w w . j a va 2 s .c o m*/ webDrivers.put(getScenarioName(), webDriver); }