Ввод значений в td, div (С#)

Прошу помогите!
Необходимо ввести значения в таблицу
Пробовал через:

IWebElement web = PPTest.FindWebElement(new WebItem("//table[@class='PPTS PPTSNoGrid']//tr[3]/td[3]", WebItemTypes.XPath));
            web.Click();
            web.SendKeys("11");

не получается.
Пробовал

RemoteWebElement ieElement = (RemoteWebElement)PPTest.Browser.FindElement(By.XPath("//table[@class='PPTS PPTSNoGrid']//tr[3]/td[3]"));
            IJavaScriptExecutor jsEngine = PPTest.Browser as IJavaScriptExecutor;
jsEngine1.ExecuteScript("arguments[0].innerHTML = arguments[1];", ieElement1, "11");

значение вводится, но после выполнения дальнейших операций новые введенные значения никак не воспринимаются, после нажатия кнопки Обновить, они совсем исчезают.

Привожу HTML-код ячейка, которая уже имеет значение

<td id="c_2_1_TabSheet15144" class="PPTSCell_7_TabSheetModel37461_TabSheet15144 PPTSCell PPTSEvenRowsCell" style="height: 25px; width: 57px; min-width: 57px; max-width: 57px;">
    <div class="PPTSCellContent PPTSCellContent_7_TabSheetModel37461_TabSheet15144 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_TabSheet15144" class="PPTSCell_8_TabSheetModel37461_TabSheet15144 PPTSCell PPTSEvenRowsCell" style="height: 25px; width: 57px; min-width: 57px; max-width: 57px;">
</td>

Как вам отвечали уже здесь - тайпать в td не имеет смысла, тем более в хроме с синтетическими эвентами.
К тому же тему вы создали “Ввод значений в div” - но по-прежнему в приведенном коде тайпаете в td.

тогда каким образом ввести значение? к тому же div у td добавляется лишь при вводе значения (при ручном вводе)

  1. Кликаем на ячейке
  2. Ждем дива
  3. Тайпаем в див

не получается.
Даже очистить уже заполненную ячейку не выходит, только лишь кликается на нее

string n = "45,00";
IWebElement web = PPTest.FindWebElement(new WebItem("//table[@class='PPTS PPTSNoGrid']//div[div='" + n + "']", WebItemTypes.XPath));
            web.Click();
            web.Clear();

Чтойто?
ЗЫ: Клир - тема отдельная. Вы сначала тайпа добейтесь.

Ячейка по значению,
либо

IWebElement web = PPTest.FindWebElement(new WebItem("//table[@class='PPTS PPTSNoGrid']//tr[4]/td[2]/div/div", WebItemTypes.XPath));

Это не валидный xpath[quote=“potursak, post:7, topic:4178”]
//table[@class=‘PPTS PPTSNoGrid’]//tr[4]/td[2]/div/div
[/quote]
Ну ок - до дива добрались. Теперь нужно определить следующие моменты:

  1. Действительно ли нужно тайпать именно в этот див. Руками кликаем в цел, когда появляется контрол с фокусом - инспектим его. Особенное внимание уделяем атрибуту contenteditable.
  2. Если п.1==true - говорите версию хром_драйвера+хрома+селениума

а если у td нет div-a?

И что?

как ему присвоить значение?

Зачем? Вы можете это сделать руками?

А нужно через авто-тест,
так не работает

IWebElement web2 = PPTest.FindWebElement(new WebItem("//table[@class=‘PPTS PPTSNoGrid’]//tr[5]/td[3]", WebItemTypes.XPath));
web2.Click();
web2.SendKeys(rnd_cell.Next(0, 100).ToString() + OpenQA.Selenium.Keys.Enter);

Перечитайте ответы в этой теме. Складывается впечатление, что вы их просто не замечаете.

сделать send keys в div не получится.
скорее всего, при клике в этом диве появляется инпут
вам сначало надо кликнуть в див
потом найти инпут
//%xpath_for_div%//input
и в него сделать send keys

отсутствует

про send keys в div не получится.
уже понял

но даже в заполненной ячейке инпут отсутствует

    <td id="c_2_1" class="PPTSCell_7 PPTSCell PPTSEvenRowsCell" style="height: 25px;">
  <div class="PPTSCellContent PPTSCellContent_7 PPTSCellRight" style="max-height: 24px;">
       <div class="PPTSCellConText" style="padding-right: 8px;">45,00</div>
  </div>
</td>

Вручную:

  1. Запускаем браузер
  2. Заходим на страницу с таблицей
  3. Кликаем по ячейке
  4. Смотрим где сейчас фокус/курсор куда сейчас можно вводить букво-цифры
  5. Кликаем правой кнопкой мыши на этом контроле
  6. Выбираем Inspect Element
  7. Смотрим куда надо тайпать

после этого, даже не знаю что добавить :smile:

Всем спасибо, разобрался, получилось

IWebElement WebCell = PPTest.FindWebElement(new WebItem("//table[@class='PPTS PPTSNoGrid']//tr[3]/td[3]", WebItemTypes.XPath));
WebCell.Click();
RemoteWebElement webElement = WebCell as RemoteWebElement;
RemoteWebDriver webDriver = webElement.WrappedDriver as RemoteWebDriver;
webDriver.Mouse.DoubleClick(webElement.Coordinates);
webDriver.Keyboard.PressKey(rnd_cell.Next(0, 100).ToString() + OpenQA.Selenium.Keys.Enter);