我正在尝试开发一个机器人,自动处理从网站上删除各种帖子。我偶然发现一个大问题,使我不能再继续下去了。你知道吗
我打开的页面显示了带有以下输入的各种复选框:
<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")
子句显然没有执行。我的想法是连续检查每一个复选框,可能我做得不对。你知道吗
取而代之的是控制台中的“END”。 任何帮助都将不胜感激。提前谢谢。你知道吗
要触发文本为Delete的弹出窗口的出现,您必须为所需的
element_to_be_clickable()
导入WebDriverWait,并且可以使用以下Locator Strategies:使用
CSS_SELECTOR
:使用
XPATH
:注意:必须添加以下导入:
相关问题 更多 >
编程相关推荐