【Python】基于Selenium简单操作web界面

前言

​ 一般情况下我们在代码中操作web应用,都会使用协议,但当传输内容被加密,或出现其他状况时,会很难使用协议进行通信。

​ 这种时候我们就可以考虑直接操作Web UI 来达到同样的效果

准备

现在Selenium的操作其实更新了,和以前有不同

驱动器安装:

firefox 驱动安装网址:https://github.com/mozilla/geckodriver/releases

还有 chrome 的驱动器,请自行上网搜索(笔者用的是firefox)

驱动器使用方法

  1. 可以将驱动器所在的目录放入系统变量的 path 中
  2. 在代码中导入驱动器的绝对路径

推荐第一种方法,但是我这边用的是第二种方法,第一种方法在路径的地方无需传参

简单操作一手

from selenium import webdriver
from selenium.webdriver.common.by import By

# 创建驱动对象
driver = webdriver.Firefox(executable_path="D:/geckodriver/geckodriver.exe")

# 使用驱动器打开网页
driver.get(url="http://localhost:8081/note/login.jsp") # 本地搭建的一个登陆网站

# 接下去以找ID为例,进行操作
# 找到 input 框
driver.find_element(By.ID, "uname").send_keys("admin") # send_keys 填入数据 By.ID意思是通过ID选择器,还有很多其他选择方法,请自行探索
driver.find_element(By.ID, "upwd").send_keys("admin")
driver.find_element(By.ID, "loginBtn").click() # click() 单击(指单击按钮)

# 关闭资源
driver.close()

# 这样就完成了一波简单的自动登录

# 一些常用操作
driver.back() # 网页回退
driver.forward() # 网页前进
driver.add_cookie() # 添加cookies
driver.maximize_window() # 最大化UI窗口

driver.page_source # 网页源代码
driver.current_url # 当前网页的url

# ...还有几个方法和属性自己查咯

猜你喜欢

转载自blog.csdn.net/BrosyveryOK/article/details/127231629
今日推荐