Выберите значение радиокнопки с селеном - PullRequest
0 голосов
/ 25 февраля 2019

У меня есть страница с исходным кодом, как в примере ниже.На странице есть переключатель с 5 значениями для выбора.Я пытаюсь установить флажок «Value One». Я попробовал все нижеприведенные попытки, но мне не повезло с ними.

Я также попробовал все в аналогичном посте: Использование Selenium в Python для выбора / выбора переключателя

, но ни один из них не работал для меня.

Кто-нибудь видит проблему и может подсказать, как ее решить?

источник:

<div class="col-sm-11">
  <div class="radio">
    <label><input type="radio" name="questionaire3" value="Value One">Value One </label>
  </div>
</div>

код:

# driver.find_element_by_css_selector("[input type='radio'][value='Value One']").click()
# driver.find_element_by_css_selector("input[type='radio'][value='Value One']").click()
driver.find_element_by_css_selector("input[name='questionaire3'][value='Value One']").click()

ошибка:

---------------------------------------------------------------------------
NoSuchElementException                    Traceback (most recent call last)
<ipython-input-60-e1d0a5c5435d> in <module>()
      7 # driver.find_element_by_css_selector("input[type='radio'][value='Value One']").click()
      8 
----> 9 driver.find_element_by_css_selector("input[name='questionaire3'][value='Value One']").click()

~/anaconda/envs/py36/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py in find_element_by_css_selector(self, css_selector)
    595             element = driver.find_element_by_css_selector('#foo')
    596         """
--> 597         return self.find_element(by=By.CSS_SELECTOR, value=css_selector)
    598 
    599     def find_elements_by_css_selector(self, css_selector):

~/anaconda/envs/py36/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py in find_element(self, by, value)
    964         return self.execute(Command.FIND_ELEMENT, {
    965             'using': by,
--> 966             'value': value})['value']
    967 
    968     def find_elements(self, by=By.ID, value=None):

~/anaconda/envs/py36/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py in execute(self, driver_command, params)
    318         response = self.command_executor.execute(driver_command, params)
    319         if response:
--> 320             self.error_handler.check_response(response)
    321             response['value'] = self._unwrap_value(
    322                 response.get('value', None))

~/anaconda/envs/py36/lib/python3.6/site-packages/selenium/webdriver/remote/errorhandler.py in check_response(self, response)
    240                 alert_text = value['alert'].get('text')
    241             raise exception_class(message, screen, stacktrace, alert_text)
--> 242         raise exception_class(message, screen, stacktrace)
    243 
    244     def _value_or_default(self, obj, key, default):

NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"input[name='questionaire3'][value='Value One']"}
  (Session info: chrome=72.0.3626.109)
  (Driver info: chromedriver=2.42.591059 (a3d9684d10d61aa0c45f6723b327283be1ebaad8),platform=Mac OS X 10.12.6 x86_64)

Обновление:

это сработало

driver.find_element_by_name ("questionaire3"). Send_keys ('Value One')

1 Ответ

0 голосов
/ 26 февраля 2019

Это сработало:

driver.find_element_by_name("questionaire3").send_keys('Value One')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...