元素位于网页上,但不是通过WebDriver

时间:2014-09-22 22:12:10

标签: xpath selenium-webdriver

我正在Facebook上自动化一个简单的场景,我登录我的帐户。点击好友请求图标,获取控制台上列出的所有好友请求。我的代码段如下 - 我想要找到的元素的xpath为 - // * [@ class ='clearfix ruUserBox _3-z'] / div / div / div [2] / div [1] / a“。如果我键入在Firepath控制台中,它定位了所有元素。但是在代码中,当我试图将这些元素存储在List中时,看起来它不起作用。控制台留空。这里要注意的一件事是这些的className ELements是相同的但是id是不同的。仍然是firebug在DOM中正确地定位了所有元素,但是在程序执行期间同样不起作用.P1帮助。

公共类样本{

public static void main(String[] args) throws InterruptedException {

     WebDriver driver = new FirefoxDriver();
     WebDriverWait wait = new WebDriverWait(driver, 2);
     driver.get("https://www.facebook.com/");
      driver.findElement(By.id("email")).sendKeys("abc@gmail.com");//use personal or test id
      driver.findElement(By.id("pass")).sendKeys("xyz");//use personal or test password
      driver.findElement(By.id("loginbutton")).click();
      Thread.sleep(3000L);
      WebElement friend_requests_icon = wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("fbRequestsJewel")));
      friend_requests_icon.click();
      driver.findElement(By.linkText("See All")).click();
      List<WebElement> friendList = driver.findElements(By.xpath("//*[@class='clearfix ruUserBox     _3-z']/div/div/div[2]/div[1]/a"));
      Thread.sleep(3000L);
      for(int i=0;i<friendList.size();i++){
          System.out.println(friendList.get(i).getText());

      }
}

0 个答案:

没有答案