如何使用Python Selenium点击输入框填数并点击注册按钮
Python Selenium实现注册页输入、点击操作方案
前置依赖准备
- 安装Selenium库:执行命令
pip install selenium - Selenium 4及以上版本会自动匹配对应浏览器的驱动程序,无需手动下载配置;如果使用旧版本,请提前下载和本地浏览器版本一致的驱动并配置环境变量。
操作一:点击输入框并输入数字
对应输入框的元素检查结果参考:
从元素属性可以看到该输入框name属性为phone,属于手机号输入框,优先使用稳定属性定位,操作代码如下:
from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC # 初始化Chrome浏览器实例,可替换为Edge、Firefox等对应浏览器 driver = webdriver.Chrome() # 替换为实际的注册页面地址 driver.get("目标注册页访问地址") # 显式等待输入框加载完成,最长等待时长10秒 phone_input = WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.NAME, "phone")) ) # 点击输入框、清空默认内容、输入目标数字 phone_input.click() phone_input.clear() # 替换为需要输入的实际数字内容 phone_input.send_keys("13800138000")
如果同页面存在多个同name属性的输入框,可以使用CSS选择器做组合定位提升精准度,比如定位语句替换为(By.CSS_SELECTOR, "input[type='tel'][name='phone']")。
操作二:点击Sign Up注册按钮
对应注册按钮的元素检查结果参考:
该按钮的可见文本为Sign up,使用文本特征定位稳定性更高,操作代码接上述逻辑即可:
# 等待注册按钮进入可点击状态,避免按钮灰化时点击无效 signup_button = WebDriverWait(driver, 10).until( EC.element_to_be_clickable((By.XPATH, "//button[normalize-space(text())='Sign up']")) ) # 点击注册按钮 signup_button.click()
注意事项
- 禁止使用浏览器开发者工具复制的绝对路径Xpath定位元素,页面结构小幅调整就会导致定位失效
- 尽量避免使用
time.sleep()做固定时长等待,显式等待会在元素满足条件时立刻执行后续操作,稳定性和执行效率都更高 - 如果目标元素嵌套在iframe标签内,需要先执行iframe切换逻辑才能正常定位元素,切换语句参考:
driver.switch_to.frame(iframe定位对象)
内容的提问来源于stack exchange,提问作者IFM2
相关产品推荐
相关产品推荐

