Я пытаюсь разработать бота, который автоматически обрабатывает удаление различных сообщений с веб-сайта. Я наткнулся на серьезную проблему, которая не позволяет мне двигаться дальше.
На странице, которую мне удалось открыть, представлены различные флажки со следующим вводом:
<input type="checkbox" name="ids[]" value="305664759" onclick="toggleDeleteButtons()">
Что мне нужно сделать, так это одновременно установить каждый флажок, а затем нажать кнопку удаления. Затем появится всплывающее окно, в котором я должен нажать еще одну кнопку «Удалить» со следующим вводом:
<input id="btnDelAds" class="button" href="javascript:void(0)" onclick="document.manageads.cmd.value='del';if (submit_batch_delete()){document.manageads.submit();}else{closeDialogDelete();}">
Затем появится еще одно всплывающее окно для подтверждения, но это уже другая проблема. На самом деле проблемы возникают, когда я пытаюсь найти флажки.
Это код для обработки первой части сайта и поиска флажков:
from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.keys import Keys
#HANDLING ACCESS
email = "somemail"
password = "somepass"
driver = webdriver.Firefox()
driver.get("https://www.somesite.it/account/manageads")
login_field = driver.find_element_by_id("login_email")
login_field.clear()
login_field.send_keys(email)
login_field = driver.find_element_by_id("login_passwd")
login_field.clear()
login_field.send_keys(password)
login_field.send_keys(Keys.ENTER)
#HANDLING DELETE OF POSTS
while True:
try:
elem = driver.find_element_by_xpath("//input[@type='checkbox' and contains(@name, 'id')")
print("Found")
except NoSuchElementException:
print("End")
break
elem.click()
(Я подверг цензуре URL-адрес сайта и учетные данные)
Предложение print("Found")
явно не выполняется. Идея заключалась в том, чтобы последовательно проверять все флажки, возможно, я сделал это неправильно.
Вместо этого я получаю "КОНЕЦ" в консоли. Любая помощь будет принята с благодарностью. Заранее спасибо.