0

这是 UI 的一部分,其中我有一些文字文本,例如

Opportunity Name    Momentum Test (ID=AANA-19KVBE)
Account             Account Internal
Owner               Christopher Braden
Sales Order Region  North America
Locale English      United States
Currency            US Dollar

上面这段代码如下

<table class="datatable" width="100%">
    <tbody>
    <tr class="oddrow">
        <td>Opportunity Name</td>
        <td class="wrap_content">
            Momentum Test (ID=AANA-19KVBE)
            <br>
            <a target="_blank" href="http://www.example.com">View in Salesforce</a>
        </td>
    </tr>
    <tr class="evenrow">
        <td>Account</td>
        <td class="wrap_content">
            Akamai Internal
            <br>
            <a target="_blank" href="http://www.example.com">View in Salesforce</a>
        </td>
    </tr>
    <tr class="oddrow">
        <td>Owner</td>
        <td>Christopher Braden</td>
    </tr>
    <tr class="evenrow">
        <td>Sales Order Region</td>
        <td>North America</td>
    </tr>
    <tr class="oddrow">
        <td>Locale</td>
        <td>English - United States</td>
    </tr>
    <tr class="evenrow">
        <td>Currency</td>
        <td>US Dollar</td>
    </tr>
</tbody>

我需要单独检索这些值,将其存储在不同的页面中进行比较。

例如:我需要知道“美国”存储在“位置”下

请帮我

感谢和问候基兰

4

1 回答 1

0

您可以在地图中读取和存储所有这些信息 -

Map<String,String> map = new Map<String,String>;

List<WebElement> list = driver.findElements(By.xpath("//*[@class='datatable']/tbody/tr")); 

for(int i=1;i<=list.size();i++){

  String key = driver.findElement(By.xpath("//*[@class='datatable']/tbody/tr["+i+"]/td[1]")).getText();
  String value = driver.findElement(By.xpath("//*[@class='datatable']/tbody/tr["+i+"]/td[2]")).getText(); 

   map.put(key,value);
 }

通过这种方式,您可以读取表中的所有信息并将其存储在 Map 中以供以后使用。让我知道这是否适合您。

于 2012-07-11T10:42:23.640 回答