Я работаю над созданием автоматизированного веб-скребка на Академии Хан, чтобы сделать автономное резервное копирование вопросов с использованием селена и скребка python (позже). В настоящее время я работаю над тем, чтобы заставить его отвечать на вопросы (правильно или неправильно, не имеет значения) для продолжения упражнений. К сожалению, функция .click() selenium фактически не выбирает ответ. Я думаю, что это имеет какое-то отношение к тому, чтобы быть направленным на неправильный объект, но я не могу сказать. В настоящее время он выделяет этот параметр, но не выбирает его.Selenium Clicks, но не выбирает
HTML for a single option (out of 4)
Я сделал некоторый код, чтобы воспроизвести ошибку, и подключил его к тестовой учетной записи для всех ваших потребностей отладки. Благодарю.
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox()
# gets us to the SAT Math Exercise page
driver.get('https://www.khanacademy.org/mission/sat/tasks/5505307403747328')
# these next lines just automate logging in. Nothing special.
login = driver.find_element_by_name('identifier')
login.send_keys('stackflowtest') # look, I made a new account just for you guys
passw = driver.find_element_by_name('password')
passw.send_keys('stackoverflow')
button = driver.find_elements_by_xpath("//*[contains(text(), 'Sign in')]")
button[1].click()
driver.implicitly_wait(5) # wait for things to become visible
radio = driver.find_element_by_class_name('perseus-radio-option')
radio.click()
check = driver.find_element_by_xpath("//*[contains(text(), 'Check answer')]")
check.click()
Как насчет некоторого кода HTML? – JDelorean
Элемент имеет имя класса «kui-button». Почему бы не использовать только этот код, чтобы найти элемент driver.find_elements_by_classname («kui-button»)] ») –
@JDelorean HTML добавлен – Xeneficus