Python 在函数中使用selenium会导致TypeError

Python 在函数中使用selenium会导致TypeError,python,function,selenium,Python,Function,Selenium,我想登录多个网站,所以我尝试实现一个函数代码。下面的程序代码有效 from selenium import webdriver from selenium.webdriver.chrome.options import Options import time options = Options() chrome_path = "T:/User/WebScrapingExample/Chromedriver/chromedriver.exe" driver = webdriver.Chrome

我想登录多个网站,所以我尝试实现一个函数代码。下面的程序代码有效

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time


options = Options()
chrome_path = "T:/User/WebScrapingExample/Chromedriver/chromedriver.exe"
driver = webdriver.Chrome(executable_path=chrome_path,chrome_options=options)
driver.set_window_size(1280, 720) 
driver.get("https://testwebsite/#/")
time.sleep(5)
user = driver.find_element_by_css_selector("input[type=text]")
password = driver.find_element_by_css_selector("input[type=password]")
user.send_keys("xxx")
password.send_keys("xxx")
driver.find_element_by_css_selector("button[type=submit]").click()
下面的代码无效,并返回以下错误:

文件 “C:\Users\user\AppData\Local\Continuum\anaconda4\lib\site packages\selenium\webdriver\remote\webelement.py”, 第478行,输入send_键 {'text':“”.join(键到键入(值))

文件 “C:\Users\langma\AppData\Local\Continuum\anaconda4\lib\site packages\selenium\webdriver\common\utils.py”, 第150行,按按键输入 对于范围内的i(len(val)):

TypeError:类型为“WebElement”的对象没有len()


我想在函数内部导入也是一种糟糕的做法,对吗?有人能帮我运行一下吗?

我认为您的CSS元素选择器是错误的

userinput = "input[type='text']", passwordinput = "input[type='password']", submitbtn = "button[type='submit']"
然后将密钥password(元素)发送到password(元素)

尝试修改如下

password_ele = driver.find_element_by_css_selector(passwordinput)
user.send_keys(username)
password_ele.send_keys(password)  # this password is string from argument

为什么要导入选项?我在代码中找不到任何选项设置。可能没有必要。我也找不到调用len()的位置。能否粘贴整个错误消息?是的,可能我不想调用选项,但这不重要。更新帖子:)
password = driver.find_element_by_css_selector("input[type=password]")
user.send_keys(username)
password.send_keys(password)
password_ele = driver.find_element_by_css_selector(passwordinput)
user.send_keys(username)
password_ele.send_keys(password)  # this password is string from argument