Webdriver访问数据交换元素

时间:2015-05-04 15:52:07

标签: java groovy selenium-webdriver webdriver

我有一个简单的问题......我希望这会是一个快速的问题。

我有一个div元素,如下所示:

<div class="slideshow-image" data-thumb-index="0" data-interchange="
                        [//someURL/5/568/1_40.jpg, (default)],
                        [//someURL/5/568/1_40.jpg, (small)],
                        [//someURL/5/568/1_70.jpg, (medium)],
                        [//someURL/5/568/1_base.jpg, (large)]
                    " data-uuid="interchange-i9a0pkp20" style="min-height: 527px; background-image: url(http://someURL/5/568/1_base.jpg);">
                <div class="pageheader-overlay"></div></div>

现在通过webdriver我想获得数据交换中的每个URL。但是,我不知道如何解决这个问题......任何人都可以帮忙吗?

谢谢, 菲尔

1 个答案:

答案 0 :(得分:1)

以下是基于以下条件的示例:

1)div将按其classname

进行搜索

2)结果字符串被逗号

分割成碎片

3)检查分割字符串是否以“jpg”结尾 - 如果是,则进行一些格式化和修剪

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;

public class Selenium2Example {
  public static void main(String[] args) {
    WebDriver driver = new FirefoxDriver();
    // local test URL
    driver.get("http://localhost:8080");

    WebElement element = driver.findElement(By.className("slideshow-image"));

    String attribute = element.getAttribute("data-interchange");
    String[] urls = attribute.split(",");

    for (String url : urls) {
      if (url.endsWith("jpg")) {
        System.out.println("URL Info: " + url.replace("[", "").trim());
      }
    }

    // Close the browser
    driver.quit();
  }
}