Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/29: Рейтинг темы: голосов - 29, средняя оценка - 4.76
0 / 0 / 0
Регистрация: 15.01.2014
Сообщений: 7

Ввод значений в таблицу Selenium WebDriver

15.01.2014, 12:30. Показов 6095. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Прошу помогите. Весь интернет проверил. Вторую неделю мучаюсь.

Пишу автотесты.
браузер Хром
Имеется пустая таблица, необходимо ввести данные в ячейки таблицы
Одна ячейка заполнена, код страницы ее:
HTML5
1
2
3
4
5
6
<table>
 <tr>
  <td>
    <div class=...>
     <div class=PPTCellConText> 45 </div> 
...
а код пустой ячейки:
HTML5
1
2
3
4
5
<table>
 <tr>
  <td>
  </td>
...
Каким образом это сделать в С#?
Данные из заполненной ячейки достать могу через getText(), а ввести данные не могу.
Прошу помогите.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.01.2014, 12:30
Ответы с готовыми решениями:

Не получается подключить Selenium WebDriver
Всем привет! Смотрел видео на ютубе по selenium, там подключение происходит путем скачивания файла с сайта затем распаковка, потом в...

Selenium webdriver. Получить текст
нужно получить текст из сообщения, пробовал css и xpath. Получить нужно код, VF4TW IWebElement ldatetext =...

Обработка исключения в Selenium Webdriver
Работаю с Selenium Webdriver и не могу понять как в нижеидущем коде работает исключение Помогите, пожалуста! public void...

12
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
15.01.2014, 19:52
Насколько я знаю, Selenium повторяет действия пользователя. Пользователь ведь не может вводить в обычную таблицу table/tr/td данные. Зачем вам это проверять тогда?
0
0 / 0 / 0
Регистрация: 15.01.2014
Сообщений: 7
15.01.2014, 19:55  [ТС]
Пишу автотесты на C# + WebDriver. Мне необходимо ввести в поле какое-либо значение, а затем сохранить изменения
0
 Аватар для Петррр
6721 / 3570 / 900
Регистрация: 28.10.2010
Сообщений: 5,937
16.01.2014, 08:31
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
using System;
using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;
using OpenQA.Selenium.Remote;
 
namespace Ghost
{
    class Program
    {
        static void Main(string[] args)
        {
            const string text = "IE - УГ";
            IWebDriver driver = new FirefoxDriver();
            driver.Navigate().GoToUrl(new Uri("http://htmlbook.ru/html/table"));
            RemoteWebElement ieElement = (RemoteWebElement)driver.FindElement(
                By.CssSelector(".ie"));
            IJavaScriptExecutor jsEngine = driver as IJavaScriptExecutor;
            jsEngine.ExecuteScript("$(arguments[0]).text(arguments[1]);", ieElement, text);
            driver.Close();
        }
    }
}
0
0 / 0 / 0
Регистрация: 15.01.2014
Сообщений: 7
16.01.2014, 12:14  [ТС]
Что-то не то... Либо я не понимаю...(
Перед тем, как внести в ячейку данные, кликаю по ней два раза, через код С#, добираюсь при этом до ячейки через xPath (//table/tr[]/td[])

Вот как после клика внести в эту ячейку значение?
0
 Аватар для Петррр
6721 / 3570 / 900
Регистрация: 28.10.2010
Сообщений: 5,937
16.01.2014, 12:17
А зачем на нее кликать? Да, вы действительно не понимаете.
0
0 / 0 / 0
Регистрация: 15.01.2014
Сообщений: 7
16.01.2014, 12:35  [ТС]
А как иначе? При двойном щелчке на нее - она становится активна для ввода
0
 Аватар для Петррр
6721 / 3570 / 900
Регистрация: 28.10.2010
Сообщений: 5,937
16.01.2014, 12:50
Potursak, ячейка таблицы не может принимать фокус ввода.
0
0 / 0 / 0
Регистрация: 15.01.2014
Сообщений: 7
16.01.2014, 12:58  [ТС]
[QUOTE=Potursak;5642161]
Одна ячейка заполнена, код страницы ее:
HTML5
1
2
3
4
5
6
<table>
 <tr>
  <td>
    <div class=...>
     <div class=PPTCellConText> 45 </div> 
...
а код пустой ячейки:
HTML5
1
2
3
4
5
<table>
 <tr>
  <td>
  </td>
...
Тогда, как из кода 2 получить код 1?
0
 Аватар для Петррр
6721 / 3570 / 900
Регистрация: 28.10.2010
Сообщений: 5,937
16.01.2014, 13:27
C#
1
jsEngine.ExecuteScript("arguments[0].innerHTML = arguments[1];", ieElement, htmlText);
1
0 / 0 / 0
Регистрация: 15.01.2014
Сообщений: 7
16.01.2014, 14:01  [ТС]
спасибо, значения ввелись.

но теперь косяк в другом, данные ввелись, но они
- не сделались по левому краю
- если вводить значения в ручную, то к ним добавляется два нуля через запятую (т.е. 45 -> 45,00), а так это не сделалось
- и еще, если потом проводим суммирование, то эти значения исчезают...
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
17.01.2014, 09:27
Potursak, Может вы приведете более полный пример страницы (который работает так как вам нужно)? Тогда дело пойдет быстрее.
0
0 / 0 / 0
Регистрация: 15.01.2014
Сообщений: 7
20.01.2014, 09:53  [ТС]
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<tr id="row_2_TabSheet17243" style="height: 25px;">
    <td id="c_2_0_TabSheet17243" class="PPTSCell_6_TabSheetModel31219_TabSheet17243 PPTSCell PPTSLeftHeader" style="border-right-width: 1px !important; border-right-style: solid !important; border-right-color: rgb(187, 187, 187) !important; height: 25px; width: 245px; min-width: 245px; max-width: 245px;">
        <div class="PPTSCellContent PPTSCellContent_6_TabSheetModel31219_TabSheet17243 PPTSCellLeft" style="max-height: 24px; max-width: 245px; width: 245px;">
             <div class="PPTSCellConText" style="padding-right: 30px; margin: 5px 0px 6px 7px; white-space: nowrap; word-wrap: break-word; max-height: 14px;">Albania
             </div>
       </div>
   </td>
   <td id="c_2_1_TabSheet17243" class="PPTSCell_7_TabSheetModel31219_TabSheet17243 PPTSCell PPTSEvenRowsCell" style="height: 25px; width: 57px; min-width: 57px; max-width: 57px;">
        <div class="PPTSCellContent PPTSCellContent_7_TabSheetModel31219_TabSheet17243 PPTSCellRight" style="max-height: 24px; max-width: 57px; width: 57px;">
             <div class="PPTSCellConText" style="padding-right: 8px; margin: 5px 0px 6px 7px; white-space: nowrap; word-wrap: break-word; max-height: 14px;">45,00
             </div>
        </div>
    </td>
    <td id="c_2_2_TabSheet17243" class="PPTSCell_18_TabSheetModel31219_TabSheet17243 PPTSCell PPTSEvenRowsCell" style="height: 25px; width: 57px; min-width: 57px; max-width: 57px;">
    </td>
приведен код, в котором заголовочная строка Albania, и затем две ячейки, первая со значением 45,00, а вторая пустая
во вторую необходимо внести значение, такого же формата, что и в первой, и при дальнейших действиях, это значение сохранилось...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.01.2014, 09:53
Помогаю со студенческими работами здесь

Selenium WebDriver и активный браузер
Можно ли как-нибудь с помощью Selenium WebDriver узнать url активной вкладки? Браузер до запуска программы уже должен быть открыт, а не...

Selenium webdriver +C#, не хочет дружить с Google Chrome
Доброго времени суток. Столкнулся с такой проблемой, не могу selenium webdriver подружить с Chrome. Давно не работа с selenium и за это...

Как кликнуть по радиокнопке используя Selenium WebDriver?
Есть две радиокнопки &lt;input type=&quot;radio&quot; name=&quot;rb1&quot; value=&quot;1&quot;&gt; &lt;input type=&quot;radio&quot; name=&quot;rb1&quot; value=&quot;2&quot;&gt; Нужно кликнуть по кнопке с...

Как преобразовать значение из Selenium WebDriver в int?
String priceStr; List&lt;IWebElement&gt; SearchHalava = Browser.FindElements(By.CssSelector(&quot;td&quot;)).ToList(); for (int...

Selenium WebDriver клик по координатам
подскажите можно ли в селениуме сделать клик по координатам


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru