用selenium做了个爬虫,现在想加一个界面,打算使用streamlit获取参数传值给selenium,现在卡在登录页面了
流程是这样的:输入用户名,点击获取手机验证码,短信获取到验证码,手工将此验证码输入表单,点登录,可是现在点登录的时候会关闭当前窗口,新开一个空窗口,导致找不到标签,不知道要怎么写才能实现功能,谢谢了
import streamlit as st
from selenium import webdriver
from selenium.webdriver.common.by import By
# 初始化Selenium WebDriver
driver = webdriver.Chrome()
# 获取用户输入的参数
username = st.text_input('用户名:')
if st.button('获取验证码'):
# 使用Selenium打开登录页面,获取验证码
driver.get('https://www.example.com')
user_name = driver.find_element(By.XPATH, "//input[@name='tbUserID']")
user_name.send_keys(username)
driver.find_element(By.ID, 'tbPwd').send_keys('123456')
fetch_code = driver.find_element(By.ID, 'btnGetCode')
fetch_code.click()
codename = st.text_input('验证码:')
if st.button('登录'):
# 输入验证码登录
Verify_codename = driver.find_element(By.ID, 'tbCode')
Verify_codename.send_keys(codename)
Login_button = driver.find_element(By.ID, 'ImgBtnLogin')
Login_button.click()