首页 > 解决方案 > 如何使用 Python 和 Selenium 填写表格?

问题描述

我是 Python 新手,想用它来自动登录。我找到了https://automatetheboringstuff.com/chapter11/并尝试了:

#! python3
from selenium import webdriver
browser = webdriver.Firefox()
type(browser)
browser.get('https://forum-studienstiftung.de/')
emailEl = browser.find_element_by_id(username)

不幸的是,这导致:

回溯(最近一次通话):文件“”,第 1 行,在 emailEl = browser.find_element_by_id(username) NameError: name 'username' is not defined

根据 Firefox 开发者工具,正确的 ID 是“用户名”。

标签: pythonseleniumfirefox

解决方案


您尝试访问的页面需要时间来加载。在访问它之前,您必须等待元素可见。

试试这个

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC


browser = webdriver.Firefox()
type(browser)
browser.get('https://forum-studienstiftung.de/')
emailEl = WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.id, "username")))

推荐阅读