Story2:自动化免密登录CSDN和百度+Spring AI文档,并进行页签切换

开发环境搭建以及前期回顾请移步​​​​​​至CSDN自动写博客系列(总)

一、整体方案构思,文字描述:

1、CSDN免密登录,参考

Story1:自动化_CSDN免密登录

2、百度免密登录,原理同CSDN免密登录,但是这里注意一下:

(1)百度免密登录扫码获取cookie用的是百度APP,请下载好百度APP进行扫描

(2)在实现百度免密登录的时候会碰到一个问题,当添加百度cookie的时候,原CSDN的cookie是已经存在的,这里不用在意,直接把百度的cookie添加到driver即可,两个网站的cookie可以共存

(3)百度cookie添加成功后,定向的URL必须是https://www.baidu.com/ ,不能是其他URL,原因是百度cookie的domain属性是www.baidu.com,所以定向到该页面等待免密登录成功之后,再跳转到百度翻译页面,这个点要注意一下

(4)打开百度页面需要在原浏览器上新增一个页签,而不是重新打开一个浏览器,之后需要在页签切换中完成英文翻译

(5)最近百度翻译搞活动,会弹出恭喜你中大奖的提示,如果弹出来,直接自动化干掉

3、新增第三个页签是Spring AI的文档URL

4、打开以上三个页签之后,将来可以通过切换页签来完成文档的翻译

Java+selenium自动化免密登录CSDN+百度+切换

二、数据初始化:

1、还是dictionary这张表

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
 
-- ----------------------------
-- Table structure for dictionary
-- ----------------------------
DROP TABLE IF EXISTS `dictionary`;
CREATE TABLE `dictionary`  (
  `id` int(0) NOT NULL COMMENT 'id自增',
  `d_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '字典表唯一key',
  `value1` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '值1',
  `value2` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '值2',
  `value3` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '值3',
  `value4` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '值4',
  `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '字典类型;当前1为登录cookie',
  `value5` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT 'value5',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic;
 
 

初始化的数据为:

INSERT INTO `dictionary` VALUES (1, 'csdn', ', 'https://passport.csdn.net/', 'https://www.csdn.net/', NULL, '1', NULL);
INSERT INTO `dictionary` VALUES (2, 'baidu', '', 'https://www.baidu.com/', 'https://www.baidu.com/', ' https://fanyi.baidu.com/', '1', NULL);
INSERT INTO `dictionary` VALUES (3, 'springai', NULL, NULL, 'https://docs.spring.io/spring-ai/reference/', NULL, NULL, NULL);

字段简单解释:

d_key:每个页面的key值,根据key值获取该行数据

value1: cookies的值

value2: 登录页面的URL

value3: 新增cookie后跳转的第一个页面(主页面)

value4:跳转主页面免密登录成功之后,需要跳转的其他页面(如:百度翻译页面)

value5:备用字段

type:当type==1时,完成的是自动化页面免密以及跳转的URL信息

2、dictionary相关java文件同story1

3、父类、CSDN、百度、Spring AI四个模块做了一些简单的重构,其他代码基本没动,跟story1一样;后

你可能感兴趣的:(Story2:自动化免密登录CSDN和百度+Spring AI文档,并进行页签切换)