from selenium import webdriver import time from selenium.webdriver.chrome.service import Service from selenium.webdriver.common.by import By from selenium.webdriver.common.action_chains import ActionChains # 读取操作excel表格 import openpyxl , 上述代码如何进行封装, 方便引用
时间: 2023-11-23 16:07:51 浏览: 109
selenium.webdriver.4.1.0.nupkg
可以将上述代码封装成一个类,如下所示:
```
import openpyxl
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains
class Login:
def __init__(self, username, password):
self.username = username
self.password = password
self.wb = openpyxl.load_workbook('example.xlsx')
self.ws = self.wb.active
self.service = Service('chromedriver')
self.driver = webdriver.Chrome(service=self.service)
def login(self):
self.driver.get('https://www.example.com/login')
# 输入用户名和密码
username_field = self.driver.find_element(By.ID, 'username')
password_field = self.driver.find_element(By.ID, 'password')
username_field.send_keys(self.username)
password_field.send_keys(self.password)
# 点击登录按钮
login_button = self.driver.find_element(By.ID, 'login-button')
ActionChains(self.driver).move_to_element(login_button).click().perform()
def logout(self):
# 退出登录
logout_button = self.driver.find_element(By.ID, 'logout-button')
ActionChains(self.driver).move_to_element(logout_button).click().perform()
self.driver.quit()
self.wb.save('example.xlsx')
```
然后在其他文件中可以实例化该类并调用其中的方法,如下所示:
```
from login import Login
# 实例化 Login 类并登录账号
login = Login('your_username', 'your_password')
login.login()
# 在需要退出登录的地方调用 logout 方法
login.logout()
```
这样可以将登录和退出登录的代码封装在一个类中,便于管理和维护。
阅读全文