2017-02-22 9 views
0

Так что я в настоящее время тестирую автоматизацию в Visual Studio с C# и Selenium. Поэтому моя проблема заключается в следующем. Элемент Я хочу, чтобы извлечь текст из является:Извлечь текст из элемента в класс ввода

<input class="showroomprice pricehistory" type="text" data-showroomprice="100000" value="100.000" data-tooltip="true" data-html="true" data-original-title="<div class=&quot;price-history-popup&quot;> 
<table> 
    <thead> 
     <tr> 
      <th> 
       Datum 
      </th> 
      <th> 
       Showroom 
      </th> 
     </tr> 
    </thead> 
    <tr> 
     <td> 
      22 feb 2017 
     </td> 
     <td> 
      € 100.000 
     </td> 
    </tr> 
    <tr> 
     <td> 
      27 jul 2016 
     </td> 
     <td> 
      € 399.999 
     </td> 
    </tr> 
    <tr> 
     <td> 
      20 jan 2016 
     </td> 
     <td> 
      € 333.333 
     </td> 
    </tr> 
    <tr> 
     <td> 
      20 jan 2016 
     </td> 
     <td> 
      € 123 
     </td> 
    </tr> 
    <tr> 
     <td> 
      20 jan 2016 
     </td> 
     <td> 
      € 12.333 
     </td> 
    </tr> 
</table> 
</div>"> 

Теперь, как вы можете видеть, ДИВ и таблицы являются частью класса ввода (см «> после DIV в последней строке) элемент Когда я найти. я не могу найти элемент по div-классу.

Так что мне нужно, мне нужно создать строку со всем текстом, который отмечен внутри таблица

+1

Какой элемент вы хотите извлечь из текста? 'input' или' table'? – Andersson

+0

Представлен ли отображаемый HTML, как указано выше, с таблицей div + в качестве строки во входном атрибуте 'original-data-title'? – Dillanm

ответ

0

написать письмо цикл для конкатенации текста из всех ячеек, образец кода Java

import java.util.List; 
import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.WebElement; 
import org.openqa.selenium.ie.InternetExplorerDriver; 

public class WebTableExample 
{ 
    public static void main(String[] args) 
    { 
     WebDriver driver = new InternetExplorerDriver(); 
     driver.get("test url");  
     string tableText; 
     WebElement table_element = driver.findElement(By.id("yourtable id")); 
     List<WebElement> tr_collection=table_element.findElements(By.xpath("id('testTable')/tbody/tr")); 

     int row_num,col_num; 
     row_num=1; 
     for(WebElement trElement : tr_collection) 
     { 
      List<WebElement> td_collection=trElement.findElements(By.xpath("td")); 

      col_num=1; 
      for(WebElement tdElement : td_collection) 
      { 
      // making all cells text to tableText 
       tableText = tableText + tdElement.getText(); 

       col_num++; 
      } 
      row_num++; 
     } 
    } 
} 
+0

Я не думаю, что это будет работать, поскольку таблица на самом деле является частью строки как части атрибута 'data-original-title'' input' – Dillanm

+0

. В этом случае это более просто, извлечь значение атрибута и заменить все TD, TR теги с пробелом – Anil