Webdriver 访问数据交换元素

Webdriver access data-interchange element

我有一个简短的问题...我希望是一个简短的问题。

我有一个 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) 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();
  }
}