私はSeleniumとPythonを使っています。私は動的に作成されたラジオボタンをクリックするためにclick()
メソッドを使用するのに苦労しています。ラジオのマークアップは以下の通りです。Selenium - 非表示の要素をクリックできません
<input version="2" value="1" class="linked-ftb-radio meta(controlNumber=2)" id="radio_1" name="IndexString" reference="TEST 01" type="radio">
<label for="radio_1" id="linked-label" class="radio-label"></label>
私が持っているコードは次のとおりです。
driver.find_element_by_xpath('//*[@id="radio_1"]').click()
次のエラーが生成されしかし:
Traceback (most recent call last):
File "index.py", line 41, in <module>
driver.find_element_by_xpath('//*[@id="radio_1"]').click()
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/selenium/webdriver/remote/webelement.py", line 74, in click
self._execute(Command.CLICK_ELEMENT)
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/selenium/webdriver/remote/webelement.py", line 457, in _execute
return self._parent.execute(command, params)
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/selenium/webdriver/remote/webdriver.py", line 233, in execute
self.error_handler.check_response(response)
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/selenium/webdriver/remote/errorhandler.py", line 194, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.ElementNotVisibleException: Message: Element is not currently visible and so may not be interacted with
ラジオは、ラベルが押されたときにイメージを変えることによってシミュレートされているようです。つまり、クリックすると、クラスはradio-label selected
に変わります。
どのように私はそれが現在表示されていない念頭に、セレンとのラジオボタンをクリックすることができますか?
クリックする前に一時停止を追加するとどうなりますか? –
ラベルをクリックするとチェックボックスが選択されると思いますが、一度 'driver.find_element_by_css_selector( 'label [for =" radio_1 "]')としておく必要があります。私に教えて.. –