Перейти к содержимому

Selenium IDE 3: стартовый уровень
онлайн, начало 19 апреля
Школа для начинающих тестировщиков
онлайн, начало 22 апреля
Тестирование REST API
онлайн, начало 22 апреля
Тестирование юзабилити (usability)
онлайн, начало 24 апреля
Фотография

Не нажимается radio button

selenium webdriver

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 3

#1 deth

deth

    Новый участник

  • Members
  • Pip
  • 3 сообщений

Отправлено 15 Март 2019 - 10:47

Добрый день.
Столкнулся с проблемой, на странице чек аута не нажимается радио кнопка (кнопок на странице 4).
Пробовал обращаться к элементу по id и xpath, но ничего не происходит. Кнопка не в iframe, страница генерируется с помощью javascript.
Помогите пожалуйста, второй день мучаюсь. 

 

Вот часть html страницы с кнопками:

	<tbody>
		<tr>
			<td>
				<input type="radio" id="ID_DELIVERY_ID_41" name="DELIVERY_ID" value="41" checked="">
				<label for="ID_DELIVERY_ID_41" onclick="BX('ID_DELIVERY_ID_41').checked=true; submitForm();">
				</label>
			</td>
			<td>
				<label for="ID_DELIVERY_ID_41" onclick="BX('ID_DELIVERY_ID_41').checked=true; submitForm();">
				<span class="title">Курьерская доставка</span>
				</label>
			</td>
		</tr>
		<tr>
			<td>
				<input type="radio" id="ID_DELIVERY_ID_43" name="DELIVERY_ID" value="43">
				<label for="ID_DELIVERY_ID_43" onclick="BX('ID_DELIVERY_ID_43').checked=true; submitForm();"></label>
			</td>
			<td>
				<label for="ID_DELIVERY_ID_43" onclick="BX('ID_DELIVERY_ID_43').checked=true; submitForm();">
				<span class="title">Пункт самовывоза</span>
				</label>
			</td>
		</tr>
	</tbody>
</table>

Мой selenium код который я вводил:

driver.find_element_by_id("ID_DELIVERY_ID_41").click()
driver.find_element_by_xpath("(//input[@id='ID_DELIVERY_ID_41'])").click()
driver.find_element_by_xpath("(/html[1]/body[1]/section[1]/div[1]/section[1]/div[1]/form[1]/div[1]/div[2]/div[1]/div[1]/table[1]/tbody[1]/tr[1]/td[1]/input[1])").click()







Вот такую ошибку выдает мне selenium:

selenium.common.exceptions.ElementNotVisibleException: Message: element not interactable

 


  • 0

#2 deth

deth

    Новый участник

  • Members
  • Pip
  • 3 сообщений

Отправлено 15 Март 2019 - 11:07

Попробовал внести запись в поле:

driver.find_element_by_id("CITY").send_keys(u"г Санкт-Петербург")

После чего selenium выдал ошибку:

selenium.common.exceptions.WebDriverException: Message: unknown error: Element <input type="text" value="г Санкт-Петербург" name="ORDER_PROP_11" id="CITY" autocomplete="off">
 is not clickable at point (383, 12). Other element would receive the click: <div class="wrap">...</div>

  • 0

#3 DReeborn

DReeborn

    Новый участник

  • Members
  • Pip
  • 6 сообщений
  • Город:Владивосток

Отправлено 17 Март 2019 - 23:31

Самое простое, что могу посоветовать, исходя из "страница генерируется с помощью javascript", влепить пару ожиданий в код. Драйвер очень быстро выполняет шаги и спокойно может успеть вперёд планеты всей.

Из сложного стоит посмотреть который из элементов обрабатывает клик.


  • 0

#4 TatyanaV

TatyanaV

    Опытный участник

  • Members
  • PipPipPipPip
  • 370 сообщений
  • ФИО:Воробьева Татьяна


Отправлено 18 Март 2019 - 10:24

У Вас onclick не на инпуте, а на лейбле.

При этом, сама отметка на радиобаттоне тоже ставится этим же onclick'ом (<label for="ID_DELIVERY_ID_41" onclick="BX('ID_DELIVERY_ID_41').checked=true; submitForm();">).

 

Попробуйте кликать по '#ID_DELIVERY_ID_41+label' (cssLocator).

Либо по '//*[@id='ID_DELIVERY_ID_41']/../label]' (xpath).

Или '//*[@id='ID_DELIVERY_ID_41']/following-sibling::label]' (xpath)


  • 0


Программирование на С# для тестировщиков
онлайн
Автоматизатор мобильных приложений
онлайн
Selenium WebDriver: полное руководство
онлайн
Программирование на Python для тестировщиков
онлайн




Темы с аналогичным тегами selenium, webdriver

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

Яндекс.Метрика
Реклама на портале