selenium webdriver 实现百度贴吧自动签到

public static void main(String[] args) {
        //TestUtils.killProcess("javaw.exe");    
        TestUtils.killProcess("iexplore.exe");
            
          WebDriver driver=ExplorerBase.IESetting();
          driver.manage().window().maximize();
          String baseUrl= "http://www.baidu.com/";          
          driver.get(baseUrl);
            driver.manage().window().maximize();
            driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
            String name;
            try {
                name=driver.findElement(By.id("s_username_top")).getText();
                System.out.println(name);
            }catch (NoSuchElementException e) {
                driver.findElement(By.id("lb")).click();
                driver.findElement(By.id("TANGRAM__PSP_10__pass-pop-login-placeholder-normal")).click();
                WebElement username=driver.findElement(By.id("TANGRAM__PSP_10__userName"));
                username.clear();
                username.sendKeys("");//username
                WebElement password=driver.findElement(By.id("TANGRAM__PSP_10__password"));
                password.click();
                password.clear();
                password.sendKeys("");//password
                driver.findElement(By.id("TANGRAM__PSP_10__submit")).click();
                //Assert.assertEquals("x429791240",driver.findElement(By.id("s_username_top")).getText());
            }     
            driver.findElement(By.linkText("贴吧")).click();
            driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
            WebElement element= driver.findElement(By.id("wd1"));
            element.sendKeys("刘诗诗");
            driver.findElement(By.id("tb_header_search_form")).submit();
            String setscroll = "document.documentElement.scrollTop=100";              
            JavascriptExecutor jse=(JavascriptExecutor) driver;  
            jse.executeScript(setscroll);  
            driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
            try {
                WebElement elementSign= driver.findElement(By.xpath("//a[@title='签到']"));
                elementSign.click();
                System.out.println("亲!签到成功~");
            } catch (NoSuchElementException e) {
                driver.findElement(By.xpath("//a[@title='签到完成']"));
                System.out.println(driver.findElement(By.xpath("//a[@title='签到完成']")).getAttribute("title"));//getText(),获得标签内文本
                System.out.println("亲!今天已经签过到了~");
            }            
            driver.quit();
          }
public class Cnblogs {
  private WebDriver driver;
  private String baseUrl;
  private boolean acceptNextAlert = true;
  private StringBuffer verificationErrors = new StringBuffer();

  @Before
  public void setUp() throws Exception {
    driver = ExplorerBase.IESetting();
    baseUrl = "http://www.cnblogs.com";
    driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
  }

  @Test
  public void testCnblogs() throws Exception {
    driver.get(baseUrl + "/");
    driver.findElement(By.linkText("登录")).click();
    driver.findElement(By.id("tbUserName")).clear();
    driver.findElement(By.id("tbUserName")).sendKeys("");
    driver.findElement(By.id("tbPassword")).clear();
    driver.findElement(By.id("tbPassword")).sendKeys("");
    driver.findElement(By.id("btnLogin")).click();
    assertEquals("苦逼IT男", driver.findElement(By.linkText("苦逼IT男")).getText());
  }

  @After
  public void tearDown() throws Exception {
    driver.quit();
    String verificationErrorString = verificationErrors.toString();
    if (!"".equals(verificationErrorString)) {
      fail(verificationErrorString);
    }
  }

  private boolean isElementPresent(By by) {
    try {
      driver.findElement(by);
      return true;
    } catch (NoSuchElementException e) {
      return false;
    }
  }

  private boolean isAlertPresent() {
    try {
      driver.switchTo().alert();
      return true;
    } catch (NoAlertPresentException e) {
      return false;
    }
  }

  private String closeAlertAndGetItsText() {
    try {
      Alert alert = driver.switchTo().alert();
      String alertText = alert.getText();
      if (acceptNextAlert) {
        alert.accept();
      } else {
        alert.dismiss();
      }
      return alertText;
    } finally {
      acceptNextAlert = true;
    }
  }
}
public class ITeye {
  private WebDriver driver;
  private String baseUrl;
  private boolean acceptNextAlert = true;
  private StringBuffer verificationErrors = new StringBuffer();

  @Before
  public void setUp() throws Exception {
    driver = ExplorerBase.IESetting();
    baseUrl = "http://www.iteye.com";
    driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
  }

  @Test
  public void testITeye() throws Exception {
    driver.get(baseUrl + "/");
    driver.findElement(By.linkText("登录")).click();
    driver.findElement(By.id("user_name")).sendKeys("TestQA0");
    driver.findElement(By.id("password")).sendKeys("654321a");
    driver.findElement(By.id("button")).click();
    assertTrue(isElementPresent(By.linkText("欢迎TestQA0")));
    driver.findElement(By.linkText("退出")).click();
  }

  @After
  public void tearDown() throws Exception {
    driver.quit();
    String verificationErrorString = verificationErrors.toString();
    if (!"".equals(verificationErrorString)) {
      fail(verificationErrorString);
    }
  }

  private boolean isElementPresent(By by) {
    try {
      driver.findElement(by);
      return true;
    } catch (NoSuchElementException e) {
      return false;
    }
  }

  private boolean isAlertPresent() {
    try {
      driver.switchTo().alert();
      return true;
    } catch (NoAlertPresentException e) {
      return false;
    }
  }

  private String closeAlertAndGetItsText() {
    try {
      Alert alert = driver.switchTo().alert();
      String alertText = alert.getText();
      if (acceptNextAlert) {
        alert.accept();
      } else {
        alert.dismiss();
      }
      return alertText;
    } finally {
      acceptNextAlert = true;
    }
  }
}
原文地址:https://www.cnblogs.com/changshuo/p/3280657.html