У меня есть таблица, содержащая несколько столбцов, в которых данные заполняются из базы данных.Столбцы могут иметь выпадающие списки, текстовые поля, флажки и простой текст.Мне нужно написать функцию, которая будет по существу возвращать данные, присутствующие в столбце таблицы.
Вот пример того, как теги названы на веб-странице.[Кредиты для w3schools за CSS для таблиц].
<html>
<head>
<style type="text/css">
#customers
{
font-family:"Trebuchet MS", Arial, Helvetica, sans-serif;
width:100%;
border-collapse:collapse;
}
#customers td, #customers th
{
font-size:1em;
border:1px solid #98bf21;
padding:3px 7px 2px 7px;
}
#customers th
{
font-size:1.1em;
text-align:left;
padding-top:5px;
padding-bottom:4px;
background-color:#A7C942;
color:#ffffff;
}
#customers tr.alt td
{
color:#000000;
background-color:#EAF2D3;
}
</style>
</head>
<body>
<table id="customers">
<tr>
<th>Company</th>
<th>Contact</th>
<th>Country</th>
</tr>
<tr class="data-row">
<td id="customers:0:company">Alfreds Futterkiste</td>
<td id="customers:0:contact">Maria Anders</td>
<td id="customers:0:chooseCountry">
<select id="customers:0:country">
<option>Germany</option>
<option>Sweden</option>
<option>Mexico</option>
</select>
</td>
</tr>
<tr class="data-row alt">
<td id="customers:1:company">Berglunds snabbköp</td>
<td id="customers:1:contact">Christina Berglund</td>
<td id="customers:1:chooseCountry">
<select id="customers:1:country">
<option>Germany</option>
<option selected="selected">Sweden</option>
<option>Mexico</option>
</select>
</td>
</tr>
<tr class="data-row">
<td id="customers:2:company">Centro comercial Moctezuma</td>
<td id="customers:2:contact">Francisco Chang</td>
<td id="customers:2:chooseCountry">
<select id="customers:2:country">
<option>Germany</option>
<option>Sweden</option>
<option selected="selected">Mexico</option>
</select>
</td>
</tr>
</table>
</body>
</html>
Теперь алгоритм, который я использую для определения всех значений в столбце «Компания», равен
- Определите количество строк, имеющих class = или подстроку как «data-row».
- Создайте строку для получения ячейки и перебора ее от 0 до n-1
- Используйте текстовый метод дляполучить текст
Теперь, если я использую это в списке выбора, он возвращает все опции в списке.Таким образом, я собирался проверить, является ли дочерний элемент тега текстовым полем или раскрывающимся списком, и вызвать их соответствующие функции, чтобы получить их значения.
Есть ли способ, где в Watir мы можемопределить, является ли дочерний элемент определенного тега определенным тегом или нет, или есть какой-то метод, похожий на getAllChildNodes в JavaScript?
Извините за излишнюю описательность и заранее благодарим за любые возможные решения.