在使用自动化工具selenium时对某些网站登录界面send_keys输入账号密码,运行时却没有自己想要的结果出现,这是因为你碰到前端二般的开发人员,他们用的是HTML嵌套,这对后端人员造成了一些麻烦,废话不多说,直接上代码
from selenium import webdriver
from selenium.webdriver.firefox.service import Service
from selenium.webdriver.common.by import By
import time
service = Service(executable_path="geckodriver.exe")
driver = webdriver.Firefox(service=service)
driver.get('https://www.4399.com/')
# driver.maximize_window()# 浏览器最大化
driver.implicitly_wait(10)
driver.find_element(By.CSS_SELECTOR, '#login_tologin').click() # 点击事件
time.sleep(3)
a = driver.find_element(By.CSS_SELECTOR, '#popup_login_frame')
driver.switch_to.frame(a)
driver.find_element(By.CSS_SELECTOR, '#username').send_keys('账号') # 输入事件
time.sleep(3)
driver.find_element(By.CSS_SELECTOR, '#j-password').send_keys('密码')
time.sleep(3)
driver.find_element(By.CSS_SELECTOR, '.ptlogin_btn').click()
input()
driver.quit()
内部链接是博主童年时最爱玩的网站,你们可以改成其他的,这是个模板,直接套用就好。
ps:制作不易每一个原创文章都是博主亲身经历总结而来的经验,一键三连,歪瑞古德。