java - Webdriver 访问数据交换元素

标签 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) 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();
  }
}

关于java - Webdriver 访问数据交换元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30034386/

相关文章:

java - 如何使用这个 Color 的构造函数? java

java - 如何在不创建临时对象的情况下迭代嵌套的 TreeMap

python - headless (headless)和代理身份验证 Selenium Python

python - Internet Explorer WebDriver 未在机器人框架中启动

groovy - 将命令行参数传递给 Groovy 脚本

java - 如何使用 java 集合收集表中的特定行 id - webdriver

java - 在没有克隆、复制构造函数和复制工厂的 java 中创建对象副本

java - 创建一个监听器,从 BroadcastReceiver 传递值

maven - Gradle - 执行所有 GenerateMavenPom 任务的自定义任务

grails - 如何在Grails中实现基于权限的访问控制?