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