@ Комментарий Джеффа был почти идеальным, но с недостатком. Вы можете использовать следующее решение:
try:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "li:not(.disabled)>a[data-page='next']"))).click()
print("There is another page.")
except TimeoutException:
print("No more pages")
break
Это решение работает в Firefox. Я не проверил его в другие совместимые браузеры или IE.
Я не слишком выражаю надежду на IE, необходимо было бы изучить его и отправить результаты.
<form id="myForm">
<input type="submit">
<input type="submit">
</form>
_
document.getElementById('myForm').addEventListener( 'submit', function( e ){
e.preventDefault();
e.explicitOriginalTarget.style.background = 'red';
}, false );
Я не использовал бы стандарт, отправляют тип кнопки.
Сделайте отправлять функциональное взятие дополнительным аргументом, который представляет элемент, который отправил его, и кнопка будет иметь onclick, который отправляет this
как параметр:
<input type="button" onclick="submitHandler(this)">
Альтернативное решение состояло бы в том, чтобы переместиться, триггер события от формы отправляют событие, к onclick событию отправлять элемента, как таковому:
<form name='form1'>
<input type="submit" name="submit1" onclick="onSubmitHandler"/>
<input type="submit" name="submit2" onclick="onSubmitHandler"/>
</form>
В Вашей функции-обработчике можно определить отправляющий элемент просто путем осмотра имени цели события, и если Вам нужен доступ к информации формы или другим элементам, можно получить это от отправлять атрибута "формы" элементов.
Моя нейтрализация обходит DOM для нахождения всех кнопок, которые могли вызвать отправление, но я хотел бы избежать этого.
... и добавление слушателей щелчка их для хранения ‘последней нажатой’ кнопки, которая затем читается отправлять слушателем, правильно?
Я не могу думать ни о каком другом пути, извините.