selenium破解极限

一共分为两端段代码:

 第一段:获取cookie

第二段:通过cookie登陆

这里以百度云为例:


第一部分:保存cookies,直接在cmd中执行就好

>>> from selenium import webdriver
>>> from selenium.webdriver.support.ui import WebDriverWait
>>> from selenium.webdriver.common.action_chains import ActionChains
>>> import time
>>> driver = webdriver.Chrome(executable_path='D:\Code/chromedriver.exe')
>>> driver.get('https://id.163yun.com/login?referrer=https://console.163yun.com&
h=wyygw')
只要能打开网易云登陆界面,其他的只需要手动触发就好,直接登陆。主要是保存cookies

 cookies=driver.get_cookies()


保存cookies
>>> with open("aaa.txt",'a')as f:
...     f.write(cookies)
...


此时会报错:TypeError: expected a string or other character buffer object

但可以用python中内置的pickle

>>> import pickle
>>> pickle.dump(cookies,open("aaa.txt","wb"))
第一步保存cookies结束


第二步:直接用cookies登陆


driver.get("https://id.163yun.com/login?referrer=https://console.163yun.com&h=wyygw")
cookies = pickle.load(open("aaa.txt", "rb"))
for cookie in cookies:
    driver.add_cookie(cookie)
#在此get就可以进入(好像driver.refresh()刷新更直接)
driver.get("https://id.163yun.com/login?referrer=https://console.163yun.com&h=wyygw")
剩下的就可以做其他操作了...


### Selenium 的优势和特点 #### 1. **跨平台支持** Selenium 支持多种主流浏览器,如 Internet Explorer (IE),Firefox,Chrome 和 Safari 等[^5]。这意味着开发者可以在不同的平台上验证 Web 应用程序的行为一致性。 #### 2. **多语言支持** Selenium 提供了丰富的客户端库(Client Libraries),允许开发人员使用 Java、C#、PHP、Python、Ruby 和 Perl 等编程语言编写测试脚本[^1]。这种灵活性使得团队可以根据其技术栈选择合适的语言进行自动化测试。 #### 3. **强大的功能扩展** 通过 Selenium WebDriver,可以直接向浏览器发送命令并获取返回的结果,从而实现了对网页元素的高度控制。此外,WebDriver 是 Selenium RC 的升级版本,在性能上有显著提升,并且无需依赖额外的 JavaScript 注入机制即可操作浏览器。 #### 4. **灵活的等待策略** Selenium 提供了四种主要的等待方式:隐式等待、显式等待、自定义等待以及固定等待[^4]。这些等待策略可以帮助解决动态页面加载过程中可能出现的各种延迟问题,提高测试稳定性的同时也增强了代码的可维护性和效率。 #### 5. **易于集成** Selenium 可以轻松与其他工具和技术框架相结合,比如 JUnit 或 TestNG 这样的单元测试框架;也可以配合 CI/CD 工具(Continuous Integration / Continuous Deployment)实现持续集成中的自动回归测试流程[^2]。 --- ### 使用场景分析 #### 场景一:Web应用的功能性测试 对于任何基于 HTML/CSS 构建起来的标准网站来说,都可以利用 Selenium 来模拟真实用户的交互过程来进行功能性验证。例如表单提交、按钮点击等基本动作都能被精确重现出来[^3]。 ```python from selenium import webdriver from selenium.webdriver.common.by import By driver = webdriver.Chrome() driver.get("http://www.example.com") element = driver.find_element(By.ID, 'input_field') element.send_keys('Test Input') submit_button = driver.find_element(By.NAME, 'submit') submit_button.click() driver.quit() ``` #### 场景二:跨浏览器兼容性检测 由于 Selenium 能够驱动多个类型的现代网络浏览软件运行指定的任务序列,因此非常适合用来评估某个项目是否能够在各种环境下正常展示及运作良好。 #### 场景三:负载压力下的表现观察 虽然严格意义上讲这不是它的核心职责所在,但是借助于分布式节点部署方案再加上适当调整参数配置之后,同样有可能借此机会探索系统极限承受能力范围内的响应特性变化规律[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值