У меня есть страница с исходным кодом, как в примере ниже.На странице есть переключатель с 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')