赞
踩
起因:当ai写作刚开始的时候,我头脑发热,花钱买了一年的。结果发现用手工的方式是不可能用完量的。用模拟操作倒是可以,本着钱不能乱花的原则,我开始想,如何也让python和selenium来完成这项工作。
这个系统和其他的Ai不太一样,一方面他支持问答式,也支持从中间,选中后调出Ai对话框完成问答。
我使用的是第二种方式:比如,我先输入100个问题(段),然后选中每一段,调出Ai对话框,让他回答问题。
其实第一种,我也有测试,但他自动把上下文给联在一起了,超出多少后会出问题。可能是用在其他方面的吧。等以后再看有什么好的用途。
我的目的就是把这120万每月全部用完。不浪费。(注释掉的代码忽略)
- import tkinter as tk
- from selenium.webdriver.common.action_chains import ActionChains
- from selenium import webdriver
- from selenium.webdriver.edge.options import Options
- import time
- from selenium.common.exceptions import TimeoutException
- from selenium.webdriver.common.by import By
- from selenium.webdriver.support.ui import WebDriverWait
- from selenium.webdriver.support import expected_conditions as EC
- def main():
- window = tk.Tk()
- window.title("xunfei")
- window.geometry("500x300")
- url="https://huixie.iflyrec.com/list"
- # 创建按钮
- button_open = tk.Button(window, text="准备浏览器环境", command=lambda: open_edge_browser(url))
- button_open.pack()
- # 创建按钮
- button_get_answers = tk.Button(window, text="开始工作", command=lambda: autocomplete_tasks())
- button_get_answers.pack()
-
- window.mainloop()
-
- if __name__ == "__main__":
- main()
- def js_condition(driver):
- """自定义等待条件函数,检查JavaScript返回值"""
- return driver.execute_script("return document.readyState") == "complete"
- def open_edge_browser(url):
- global driver
- # driver.implicitly_wait(10) # 设置全局隐式等待时间为10秒
- # 设置Edge选项
- edge_options = Options()
- edge_options.use_chromium = True
- # 向Edge浏览器传递启动参数
- edge_options.add_argument('--disable-extensions') # 禁用浏览器扩展
- edge_options.add_argument('--disable-gpu') # 禁用GPU硬件加速
- driver = webdriver.Edge(options=edge_options)
- driver.implicitly_wait(40) # 设置全局隐式等待时间为40秒
- driver.maximize_window()
- try:
- driver.get(url)
- WebDriverWait(driver, 20).until(js_condition)
- print("网页已加载完成。")
- return driver
- except TimeoutException:
- print("加载超时,请检查网络连接或网页是否正常。")
- def is_login(driver):
- # 点击登录按钮
- locator = (By.CSS_SELECTOR, 'div.btn-login-register')
- try:
- # 等待直到元素出现,并且是可点击的
- button = WebDriverWait(driver, 30).until(
- EC.element_to_be_clickable(locator)
- )
- # 点击元素
- button.click()
- except TimeoutException:
- print("在指定的时间内登录没有出现")
- # 定位帐号
- locator = (By.CSS_SELECTOR, 'input[placeholder="手机号"]')
- try:
- # 等待直到元素出现,并且是可编辑的
- input_element = WebDriverWait(driver, 10).until(
- EC.element_to_be_clickable(locator)
- )
-
- # 清除输入框内容
- input_element.clear()
-
- # 向输入框发送键值
- input_element.send_keys("188888888")
-
- except TimeoutException:
- print("在指定的时间内用户名没有出现或不可编辑")
- # 定位密码输入框
- locator = (By.CSS_SELECTOR, 'input[placeholder="密码"]')
- try:
- # 等待直到元素出现,并且是可编辑的
- input_element = WebDriverWait(driver, 10).until(
- EC.element_to_be_clickable(locator)
- )
-
- # 清除输入框内容
- input_element.clear()
-
- # 向输入框发送键值
- input_element.send_keys("11111111111")
-
- except TimeoutException:
- print("在指定的时间内用户名没有出现或不可编辑")
-
- #定位登录按钮
- locator = (By.CSS_SELECTOR, 'div.login-btn')
- # 使用WebDriverWait等待元素出现
- try:
- # 等待直到元素出现,并且是可点击的
- button = WebDriverWait(driver, 10).until(
- EC.element_to_be_clickable(locator)
- )
- # 点击元素
- button.click()
- except TimeoutException:
- print("在指定的时间内登录没有出现")
-
- print("登录成功")
- def autocomplete_tasks():
- is_login(driver)
我输入的100个问题,打印让他帮我自动回答的。你随意。
参考代码:
- from selenium import webdriver
- from selenium.webdriver.common.by import By
- from selenium.webdriver.chrome.service import Service
- from selenium.webdriver.chrome.options import Options
- from selenium.webdriver.support.ui import WebDriverWait
- from selenium.webdriver.support import expected_conditions as EC
-
- # 初始化Chrome浏览器
- chrome_options = Options()
- service = Service(executable_path='path/to/chromedriver') # 替换为你的chromedriver路径
- driver = webdriver.Chrome(service=service, options=chrome_options)
-
- try:
- # 打开一个网页,以便之后有多个标签页进行演示
- driver.get("https://www.example.com")
-
- # 假设在此之后通过某些操作打开了新的标签页,例如点击链接等
-
- # 获取所有窗口句柄
- window_handles = driver.window_handles
-
- # 遍历窗口句柄,定位到最后一个打开的标签页
- for handle in window_handles:
- driver.switch_to.window(handle) # 切换到当前循环的窗口
-
- # 此时已经位于最后一个标签页,可以执行相应操作
- print("当前页面的URL是:", driver.current_
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。