首页 > 解决方案 > 如何通过 Selenium 将字符序列发送到 url 中的用户名和密码字段?

问题描述

我尝试登录https://login.economicmodeling.com/login/login.php,但是我输入的用户名没有显示出来,并且我运行命令填写密码后,它自动打开了一个新的选项卡而不实际填写密码。任何人都可以帮忙吗?谢谢!

from selenium import webdriver
driver = webdriver.Safari()
driver.get("https://login.economicmodeling.com/login/login.php")
driver.find_element_by_class_name("cc-btn cc-dismiss").click()
user = driver.find_element_by_css_selector('input[name = user]')
password = driver.find_element_by_css_selector('input[name = password]')
user.clear()
user.send_keys('xxx')
password.clear()
password.send_keys('xxx')
driver.find_element_by_id("submitbutton").click()

标签: pythonseleniumselenium-webdrivercss-selectorswebdriver

解决方案


'user' 和 'password' 属性周围缺少单引号。

user = driver.find_element_by_css_selector("input[name='user']")
password = driver.find_element_by_css_selector("input[name='password']")

发送表单应该通过提交完成,而不是点击。

driver.find_element_by_id("submitbutton").submit()

推荐阅读