网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
3.1 脚本运行效果
我们在编写这次代码的时候,我们主要是使用了页面元素定位的方式去进行操作交互的,除此之外还实现了保存cookie、读取cookie的一个操作。大家在日常使用也会发现,在首次通过脚本开启的chrome网页界面是无cookie的,那么我们在进行一些任务之前是需要先登录后才能进行下一步操作的,可以通过首次登录时读取cookie数据保存到本地,往后每次运行只需要读取本地的cookie文件就可以轻松登录啦~
先来看下我们整体的运行效果:
3.2 完整代码分享
这里也附上完整的示例代码给大家参考,有需要的同学可以自取学习哦:
# -*- encoding=utf8 -*-
from airtest.core.api import *
# 引入selenium的webdriver模块
from airtest_selenium.proxy import WebChrome
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import threading
import time
import random
import json
#保存以及调用cookie的线程
class UtilFunc():
def cookie_is_exist_(self, cook_name='_'): # 检查txt文件是否存在
if os.path.exists(f'{cook_name}cookies.txt'):
return True
return False
def cookie_save_(self, driver, cook_name='_'): #保存cookie到txt文件中以便下次读取
# 获取当前页面的所有cookie
cookies = driver.get_cookies()
# 将cookie转换为JSON字符串
cookies_json = json.dumps(cookies)
# 保存cookie到txt