boss直聘自动招聘助手

此脚本用appium来写的一个boss直聘自动化招聘工具,容易上手,有着遍历人才库,匹配自己设定的岗位关键字,岗位关键字可以在excel里面输入,代码读取excel,然后自动匹配在线简历,匹配成功则私信要附件简历,这个是1.0需求,1.1需求还有遍历消息列表,下载简历,转发钉钉。此版本运用了pytest框架,失败了可以自动拉起  缺点:被boss直聘检测出为第三方插件,在脚本运行的时候会退出登陆,但是不会封号,各位可以一起讨论一下这个事情

import random
from time import sleep

import numpy as np
from appium import webdriver
from appium.webdriver.common.appiumby import AppiumBy
import pytest
import pandas as pd

class   TestCommentdeletion:

    @pytest.mark.flaky(reruns=100 , reruns_delay=5)
    def testconnecttowachat(self):
        desire = {
            "platformName": "Android",  # 设置安卓 固定的
            "platformVersion": "11",  # 安卓版本号
            "autoAcceptAlerts": True,  # 授权弹窗
            "appPackage": "com.hpbr.bosszhipin",  # 设置包名
            "appActivity": "com.hpbr.bosszhipin.module.launcher.WelcomeActivity",  # 设置启动文件名
            "deviceName": "FEC0220428003691",
            "automationName": "UIAutomator2",
            "noReset": True,
            'resetKeyboard': True
        }
        server ='http://localhost:4723/wd/hub'
        driver = webdriver.Remote(server,desire)
        sleep(random.uniform(1,5))
        while True:
            driver.find_element(AppiumBy.ID,'//*[@resource-id="com.hpbr.bosszhipin:id/iv_tab_3"]').click()#点击进入消息
            sleep(random.uniform(5,8))
            driver.find_element(AppiumBy.ID,'//*[@resource-id="com.hpbr.bosszhipin:id/iv_tab_3"]').click()#点击进入牛人
            sleep(random.uniform(5,10))
            width = driver.get_window_size()['width']
            height = driver.get_window_size()['height']
            sleep(random.uniform(1,5))
            driver.swipe(width * 0.2, height * 0.3, width * 0.4, height * 0.1, 1000)
            driver.tap([(55, 721),(1025,760)],300)
            sleep(1)
            self.yin =driver.find_element(AppiumBy.XPATH,'//*[@resource-id="com.hpbr.bosszhipin:id/tv_geek_name"]').text
            sleep(random.uniform(1,2.5))
            print(f'进入{self.yin}简历详情页')
            self.a = []
            n = driver.find_element(AppiumBy.ID, 'com.hpbr.bosszhipin:id/tv_geek_description')
            self.a = n.text
            print(self.a)
            while True:
                tou = driver.find_elements(AppiumBy.XPATH,'//*[@text="教育经历"]')
                if tou ==[]:
                    sleep(random.uniform(1,3))
                    width = driver.get_window_size()['width']
                    height = driver.get_window_size()['height']
                    sleep(random.uniform(1,3))
                    driver.swipe(width * 0.5, height * 0.9, width * 0.5, height * 0.1, 1000)
                    lie = driver.find_elements(AppiumBy.ID, 'com.hpbr.bosszhipin:id/tv_work_desc')

                    for r in lie:
                        self.c=r.text
                    print(self.c)

                elif tou!=[]:
                    sleep(random.uniform(1,3))
                    data = pd.read_excel(r'C:\Users\midong\Desktop\conditon.xlsx', header=None)
                    ss = data.head()
                    t = ss.values
                    self.r = t[0]
                    print(self.r)
                    h = all([False for i in self.r if i in (self.c, self.a)])
                    for i in self.r:
                        if i in self.c or i in self.a:
                            sleep(random.uniform(1,2))
                            driver.find_element(AppiumBy.XPATH,'//*[@text="立即沟通"]').click()
                            sleep(random.uniform(1,3))
                            driver.find_element(AppiumBy.XPATH,'//*[@text="新消息"]').send_keys('你好,我们是华南做短视频带货比较快的公司,正诚聘编导,方便发一下简历吗')
                            sleep(random.uniform(1,3))
                            driver.find_element(AppiumBy.XPATH,'//*[@resource-id="com.hpbr.bosszhipin:id/chat_functions"]/android.widget.LinearLayout[1]/android.widget.ImageView[1]').click()
                            sleep(random.uniform(1,3))
                            driver.find_element(AppiumBy.ID,'com.hpbr.bosszhipin:id/iv_back').click()
                            sleep(random.uniform(1,2))
                            driver.find_element(AppiumBy.ID,'com.hpbr.bosszhipin:id/iv_back').click()
                            print(f'已经回复{self.yin}应聘者了')
                            width = driver.get_window_size()['width']
                            height = driver.get_window_size()['height']
                            sleep(random.uniform(1,2))
                            driver.swipe(width * 0.2, height * 0.3, width * 0.4, height * 0.1, 1000)
                            sleep(random.uniform(1,3))
                            break
                        else:
                            driver.find_element(AppiumBy.ID,'com.hpbr.bosszhipin:id/iv_back').click()
                            print('下一个招聘者')
                            sleep(2)
                            break
                    break

if __name__ == '__main__':
    pytest.main(['testwei.py', '-vs'])
<think>好的,我需要帮助用户在IntelliJ IDEA中配置Element-Plus以实现代码自动提示。首先,我得确认用户的需求是什么。用户可能在使用Vue3和TypeScript开发项目,并希望像在VSCode中那样获得Element-Plus的代码提示。不过,根据引用内容,似乎没有接提到Element-Plus的插件,但提到了IntelliJ IDEA的结构化搜索功能和配置设置。 首先,我应该检查Element-Plus是否有官方的IntelliJ插件。如果没有,可能需要通过其他方式配置,比如确保项目的依赖正确安装,并且IDE能识别这些类型定义。通常,TypeScript或Vue项目需要正确的类型声明文件(.d.ts),IDE才能提供自动提示。 接下来,用户可能需要安装Vue.js插件,因为IntelliJ IDEA默认可能没有完全支持Vue3的所有功能。安装Vue插件可以增强对Vue单文件组件的支持,包括模板中的组件提示。引用[3]提到用户在使用vite2、vue3、ts、Vuex、VueRouter、Element-plus、axios和vscode,但想在IDEA中配置,所以需要确保这些依赖在项目中正确安装,并且IDE能识别。 然后,用户可能需要配置TypeScript支持,确保IDE使用正确的tsconfig.json,并且已安装Element-Plus的类型定义。Element-Plus通常自带类型声明,但如果项目中没有正确导入或配置,IDE可能无法识别。用户需要确认在代码中正确导入组件,并且依赖已通过npm或yarn安装。 另外,引用[2]提到结构化搜索动作,这可能涉及在IDE中设置自定义模板或模式来识别Element-Plus的组件,但不确定是否适用。可能更接的方法是确保依赖和类型正确安装,并重启IDE让更改生效。 总结步骤可能包括:安装Vue.js插件,安装Element-Plus依赖,检查类型声明,配置TypeScript,重启IDE。如果遇到问题,可能需要手动配置Webpack或Vite的别名,确保模块解析正确。此外,可能需要调整IDE的设置,比如启用TypeScript服务,确保语言服务运行正常。</think>在 IntelliJ IDEA 中配置 Element-Plus 的代码自动提示,需要结合 Vue 插件和 TypeScript 类型支持,具体步骤如下: --- ### 一、安装必备插件 1. **安装 Vue.js 插件** 打开 `File > Settings > Plugins`,搜索 **Vue.js** 并安装[^3]。该插件提供 Vue 3 的语法高亮、代码补全和模板支持。 2. **启用 TypeScript 支持** 如果项目使用 TypeScript,确保已安装 `typescript` 依赖,并在 `Settings > Languages & Frameworks > TypeScript` 中启用 TypeScript 语言服务。 --- ### 二、配置 Element-Plus 依赖 1. **安装 Element-Plus 包** 在终端中运行以下命令: ```bash npm install element-plus @element-plus/icons-vue # 或 yarn add element-plus @element-plus/icons-vue ``` 2. **全局导入 Element-Plus** 在 `main.ts` 中添加以下代码: ```typescript import ElementPlus from 'element-plus' import 'element-plus/dist/index.css' import * as ElementPlusIconsVue from '@element-plus/icons-vue' const app = createApp(App) app.use(ElementPlus) // 注册图标组件 for (const [key, component] of Object.entries(ElementPlusIconsVue)) { app.component(key, component) } ``` --- ### 三、启用代码提示 1. **确保类型声明生效** Element-Plus 自带 TypeScript 类型定义(位于 `node_modules/element-plus/es`)。如果未自动识别,重启 IDE 或执行以下操作: - 删除 `node_modules` 和 `package-lock.json`(或 `yarn.lock`) - 重新运行 `npm install` 或 `yarn install` 2. **配置模块解析(可选)** 如果使用 Vite,在 `vite.config.ts` 中检查别名配置: ```typescript import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' export default defineConfig({ plugins: [vue()], resolve: { alias: { '@': '/src', }, }, }) ``` --- ### 四、验证自动提示 在 Vue 组件中输入 `<el-`,应看到 Element-Plus 组件列表(如 `<el-button>`);输入 `El` 时,应触发组件名提示(如 `ElMessage`)。 ![Element-Plus 代码提示示例](https://example.com/element-plus-autocomplete.png)*代码提示示例图* --- ### 常见问题解决 - **无提示**:检查 `main.ts` 是否全局注册,或尝试在组件内局部导入: ```typescript import { ElButton } from 'element-plus' ``` - **类型报错**:更新 Element-Plus 到最新版本,或检查 `tsconfig.json` 中 `compilerOptions.types` 是否包含 `element-plus/global`。 ---
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值