| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181 |
- import json
- import time
- from datetime import date
- from time import sleep
- import requests
- from selenium import webdriver
- from selenium.common import NoSuchElementException
- from selenium.webdriver import ActionChains, Keys
- from selenium.webdriver.common.by import By
- from selenium.webdriver.support.wait import WebDriverWait
- import auth
- import main
- # webdriver 下载地址:http://chromedriver.storage.googleapis.com/index.html
- # 新版的driver 下载地址:https://googlechromelabs.github.io/chrome-for-testing/
- # 放置于:把文件存放在python根目录下,例如:C:\xxx\Python\Python38下
- def login(browser):
- user_name = browser.find_element(By.XPATH, "//*[@id='app']/section/div/div[2]/div[1]/input")
- user_name.clear()
- user_name.send_keys("kfzs003")
- browser.find_element(By.XPATH, "//*[@id='app']/section/div/div[2]/div[2]/input").send_keys("123456")
- browser.find_element(By.XPATH, "//*[@id='app']/section/div/div[3]").click()
- def get_api_data():
- response_yd = requests.get(
- "http://10.8.230.200:8888/portal/r/jd?cmd=com.awspaas.user.apps.information_publish.wechat_count")
- yd_number = response_yd.text
- print("应到:" + yd_number)
- response_sd = requests.get(
- "http://xjf.lianyou.fun:8093/v1/account/qlsf_sign_in")
- sd_number = response_sd.text
- print("实到:" + sd_number)
- tj_list = [yd_number, sd_number]
- return tj_list
- def find_highlight(browser):
- # 查找class为"custom-item"的节点,并且确保其子结构中没有class为"off-line-mask"的节点
- items = browser.find_elements(By.CSS_SELECTOR, ".custom-item:not(:has(.off-line-mask))")
- # 打印符合条件的节点数量
- print("符合条件的节点数量:", len(items))
- # 遍历符合条件的节点并打印相关信息
- i = 1
- n = 1
- for item in items:
- if item.find_element(By.CSS_SELECTOR, ".name-block p").text == "酸甜小柠檬":
- today = date.today()
- # 将日期格式化为字符串
- formatted_date = today.strftime("%Y-%m-%d")
- item.click()
- sleep(1)
- browser.find_element(By.XPATH,
- "//*[@id='app']/section/section[2]/div[2]/section/section[2]/div[3]/div/img").click()
- sleep(1)
- browser.find_element(By.XPATH,
- "//*[@id='app']/section/section[2]/div[2]/section/section[1]/div/input").send_keys(
- "机器人签到")
- sleep(1)
- ActionChains(browser).key_down(Keys.ENTER).key_up(Keys.ENTER).perform()
- sleep(1)
- send_message(browser, formatted_date + "签到")
- i += 1
- break
- for item in items:
- print("节点信息:")
- print("图片URL:", item.find_element(By.CSS_SELECTOR, ".el-badge img").get_attribute("src"))
- print("名称:", item.find_element(By.CSS_SELECTOR, ".name-block p").text)
- print("ID:", item.find_element(By.CSS_SELECTOR, ".name-block p:nth-child(2)").text)
- print("-------------------------")
- item.click()
- sleep(3)
- browser.find_element(By.XPATH,
- "//*[@id='app']/section/section[2]/div[2]/section/section[2]/div[3]/div/img").click()
- sleep(1)
- print("i: " + str(i))
- if i == 1:
- browser.find_element(By.XPATH,
- "//*[@id='app']/section/section[2]/div[2]/section/section[1]/div/input").send_keys(
- "机器人签到")
- else:
- browser.find_element(By.XPATH,
- "//*[@id='app']/section/section[2]/div[2]/section/section[1]/div/input").click()
- sleep(3)
- ActionChains(browser).key_down(Keys.ENTER).key_up(Keys.ENTER).perform()
- sleep(1)
- n = send_message(browser, n)
- i += 1
- n += 1
- print("n: " + str(n))
- tj_list = get_api_data()
- yd_number = tj_list[0]
- sd_number = tj_list[1]
- result = "bpm登记微信" + yd_number + "个,签到" + sd_number + "个。方糖无法加群。"
- print(result)
- for item in items:
- if item.find_element(By.CSS_SELECTOR, ".name-block p").text == "酸甜小柠檬":
- item.click()
- sleep(1)
- browser.find_element(By.XPATH,
- "//*[@id='app']/section/section[2]/div[2]/section/section[2]/div[3]/div/img").click()
- sleep(1)
- browser.find_element(By.XPATH,
- "//*[@id='app']/section/section[2]/div[2]/section/section[1]/div/input").click()
- sleep(1)
- ActionChains(browser).key_down(Keys.ENTER).key_up(Keys.ENTER).perform()
- sleep(1)
- send_message(browser, result)
- break
- #
- def send_message(browser, n):
- try:
- browser.find_element(By.XPATH,
- "//*[@id='app']/section/section[2]/div[2]/section/div[3]/div[1]/div/div/div[2]/div[1]/div").click()
- sleep(1)
- browser.find_element(By.XPATH,
- "//*[@id='input-text']").send_keys(
- n
- )
- sleep(1)
- # ActionChains(browser).key_down(Keys.ENTER).key_up(Keys.ENTER).perform()
- sleep(1)
- return n
- except NoSuchElementException:
- if isinstance(n, str):
- return n
- else:
- return n - 1
- def send_data(data):
- print(data)
- headers = {'Content-Type': 'application/json'}
- response = requests.post(url=main.URL_SEND_DATA, headers=headers, data=json.dumps(data))
- print(response)
- return ''
- # 发送企业微信消息
- def send_wechat_info(message):
- print(message)
- data = {
- "msgtype": "text",
- "text": {
- "content": message
- }
- }
- headers = {'Content-Type': 'application/json'}
- response = requests.post(url=main.URL_SEND_WECHAT_INFO, headers=headers, data=json.dumps(data))
- print(response)
- return ''
- #
- if __name__ == "__main__":
- print(time.localtime().tm_hour)
- # send_wechat_info("测试消息")
|