注册然后转到登录界面,点击登录,提示登录失败,账户无效
Login Unsuccessful
Invalid login credentials
这个账号我自动注册和手动注册都试过了,手动注册是可以登录的
代码如下:
import logging
from selenium import webdriver
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
browser = webdriver.Chrome()
def register():
browser.get(url='https://community.nodebb.org/register')
try:
email = WebDriverWait(browser, 5).until(
EC.presence_of_element_located((By.ID, 'email'))
)
username = WebDriverWait(browser, 5).until(
EC.presence_of_element_located((By.ID, 'username'))
)
password = WebDriverWait(browser, 5).until(
EC.presence_of_element_located((By.ID, 'password'))
)
confirm_password = WebDriverWait(browser, 5).until(
EC.presence_of_element_located((By.ID, 'password-confirm'))
)
registration_question = WebDriverWait(browser, 5).until(
EC.presence_of_element_located((By.ID, 'registration-question'))
)
submit = WebDriverWait(browser, 5).until(
EC.element_to_be_clickable((By.ID, 'register'))
)
try:
robot_check = browser.find_elements_by_css_selector('#recaptcha-anchor > div.recaptcha-checkbox-checkmark')
robot_check.click()
except Exception:
pass
email.send_keys('rivenqinyy@gmail.com')
username.send_keys('rivenqinyy')
password.send_keys('pass1234')
confirm_password.send_keys('pass1234')
registration_question.send_keys('4')
submit.click()
except TimeoutException:
logging.warning('Timeout')
finally:
pass
def login(name='rivenqinyy@gmail.com', passwd='pass1234'):
browser.get(url='https://community.nodebb.org/login')
try:
username = WebDriverWait(browser, 5).until(
EC.presence_of_element_located((By.ID, 'username'))
)
password = WebDriverWait(browser, 5).until(
EC.presence_of_element_located((By.ID, 'password'))
)
login_button = WebDriverWait(browser, 5).until(
EC.presence_of_element_located((By.ID, 'login'))
)
username.send_keys(name)
password.send_keys(passwd)
login_button.click()
except TimeoutException:
logging.warning('Timeout')
return login(name, passwd)
def main():
# register()
login()
if __name__ == '__main__':
main()
代码没问题,登录的时候username用rivenqinyy。(虽然他登录页面写了username/email,但是email无法登录)