我在Python中开发一个web scraper,只从mysql数据库获取用户和密码,然后进入一个网页并填写表单进行登录,直到这里一切正常,问题是当我有超过我的数据库中有1个用户,它登录并完全完成脚本,但当它传递给第二个用户时,它会停在代码中间并显示下一条消息:
消息:无法找到元素:{“method”:“name”,“selector”:“submit”}
这是我的代码:
#!/usr/bin/python
# -*- coding: utf-8 -*-
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import MySQLdb
db = MySQLdb.connect(host="127.0.0.1", user="root", passwd="", db="seliso")
cursor = db.cursor()
cursor.execute("SELECT * FROM usuarios")
for row in cursor.fetchall():
rfc = row[1]
clave = row[2]
driver = webdriver.Firefox()
driver.get("https://login.siat.sat.gob.mx/nidp/idff/sso?id=mat-ptsc-totp&sid=10&option=credential&sid=10")
username = driver.find_element_by_name("Ecom_User_ID")
password = driver.find_element_by_name("Ecom_Password")
username.send_keys(rfc)
password.send_keys(clave)
submit = driver.find_element_by_name("submit")
submit.click()
driver.get("https://www.siat.sat.gob.mx/PTSC/")
link = driver.find_element_by_link_text("Buzón tributario")
link.click()
driver.get("https://www.siat.sat.gob.mx/PTSC/cerrarSesion")
driver.close()
db.close()
答案 0 :(得分:-1)
看起来您尝试单击的按钮的名称未被调用"提交",因此似乎没有具有该名称的元素,因此它失败。你能用浏览器开发工具找到这个名字吗?