selenium模拟登录无反应

在使用自动化工具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:制作不易每一个原创文章都是博主亲身经历总结而来的经验,一键三连,歪瑞古德。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论
Selenium是一个广泛使用的自动化测试工具,它主要用于Web应用程序的端到端(E2E)测试,包括模拟浏览器操作。其中,模拟登录Selenium常见的一种应用场景,它允许开发者编写脚本来控制浏览器自动执行登录过程,通常涉及以下几个步骤: 1. **启动浏览器和加载页面**:使用Selenium WebDriver API启动一个浏览器实例,并导航到网站的登录页面。 2. **识别登录元素**:找到输入框(如用户名和密码输入框)、登录按钮等登录相关的HTML元素。 3. **输入用户名和密码**:使用`send_keys()`方法或`clear()`方法清除默认值并输入实际的用户名和密码。 4. **点击登录按钮**:找到登录按钮并调用`click()`方法进行点击。 5. **验证登录状态**:登录成功后,检查是否跳转到了预期的已登录页面或者通过检查特定的页面元素(如欢迎信息)来确认登录状态。 6. **处理登录错误**:如果登录失败,Selenium会捕获到异常,可以记录错误信息并采取相应措施(如显示错误提示或重试)。 ```python from selenium import webdriver from selenium.webdriver.common.keys import Keys # 创建一个新的浏览器实例 driver = webdriver.Chrome() # 打开登录页面 driver.get("https://example.com/login") # 找到用户名和密码输入框 username_input = driver.find_element_by_name("username") password_input = driver.find_element_by_name("password") # 输入用户名和密码 username_input.send_keys("your_username") password_input.send_keys("your_password", Keys.RETURN) # 使用Keys.RETURN发送回车键 # 等待页面加载,然后检查登录状态 if "Login Successful" in driver.page_source: print("Login successful") else: print("Login failed") # 关闭浏览器 driver.quit() ```
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雷神爱吃三菜团子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值