2024-8-30-midjourney更换生产工具

前几天midjourney的生产工具我自认为达到了一个不错的效率,大概3小时中断一次,然而月末时突然恶化为30分钟左右就断了。在好几次测试中断后,我觉得可能要换个平台了,另一方面我在想究竟是哪里出了问题导致频繁的中断呢,于是笔记本下载了一个captura同时买了另一个midjourney生产工具。另一个版本的工具有个优点是它是网页,它不会像先前那个版本莫名其妙强退,目前为止从没有强退过。在实战中发现这玩意儿能自动检测频次,5分钟内发起/imagine /blend基本会失败驳回,但这不会打断midjourney auto python,最后我在captura的录像中观察到问题出在了/blend /imagine命令输入后需要有一定时间等待sleep(10)左右,之前我是直接连着回车键有时候可能是网络原因来不及加载出命令,这会导致回车空砍从而还没出图片输入框就发动了点击图片输入框的动作请求(如下图,由于blend命令回车没起做用,图片输入框没出来接着去点击点到了临近的图片,再接着图片地址就跑到地址栏去了,后续全部崩塌),从而导致后面的逻辑全部崩塌。在修改这里的sleep等待后,目前验证10几小时都没出现过崩塌。

这是一个巨大突破,意味着可以全天候自动生产图片无需值守,睡觉也可以开着干,我今天在想睡觉的时候这玩意儿是不是可以去生产连环画、漫画什么的作为娱乐消遣。目前还有一个问题是生产完之后需要upscale放大单图,之前单图下载是我手动一个个点在浏览器打开然后alt tab键切换窗口来回这么点,最后在chrome里通过tab插件复制所有的url给wfdownload批量下载的,现在既然是在网页中,那么就可以用selenium来搞这事儿,完全不用点击了。思路是在upscale之前生产一个作为标识符的图,通过它的/imagine关键词定位起始位置,将之后的特定元素中的href里的链接批量下载下来,我目前测试了selenium进去好像不行,应该是discord有相关的机器识别特性,等会儿我想看看drissionpage行不行。

刚才测试发现用undetected chrome就可以,那可以不用drissionpage那套东西,避免自己研究代码了。程序测试成功,在定位标识符方面可以随便打字提交以后就会产生一个特定id的div,然后让chatgpt通过xpath获取了所有之后的a链接,它们都具有相同的class。这个程序遇到了一个小问题在于discord为动态页面,大量图片堆积的情况下需要先让滚动条向上翻滚到加载标识符才行,而用javascript window.scrollBy()无效(其他网页测了有效),顺便今天学到了在chrome的console模式下可以直接黏贴js代码来测试,不过这之前先要allow pasting。后来我发现点击页面中的指定位置,再按pageup可以实现控制滚动条向上翻滚,之前kimi的autoarrange将归纳总结输出到本地整理的程序用到过,可以通过selenium中的actionchain使用actions.key_down(Keys.PAGE_UP).perform()来实现。

2024-9-3更新:

今天再次测试程序成功,upscale批量自动下载问题得以解决。只要每次upscale之前随便打一段字生成一个div用来作为起始标记即可,div的id是唯一的。

midjourney批量下载Upscale图
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
 

from bs4 import BeautifulSoup
import requests
import os
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.chrome.options import Options
from webdriver_manager.chrome import ChromeDriverManager
import time
import undetected_chromedriver as uc

# 设定保存图片的目录
download_directory = r'F:\midjourney_blend_Record\test'
os.makedirs(download_directory, exist_ok=True)


# Selenium配置
options = Options()
options.add_argument('lang=zh_CN.UTF-8')
options.add_argument('--ignore-certificate-errors')
options.add_argument('--ignore-ssl-errors')
options.add_argument('user-agent="Mozilla/5.0 (iPod; U; CPU iPhone OS 2_1 like Mac OS X; ja-jp) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.1.1 Mobile/5F137 Safari/525.20"')
options.add_argument(r'--user-data-dir=C:/Users/A/AppData/Local/Google/Chrome/User Data')
driver = uc.Chrome(options=options)
url = "https://discord-d-com-s-mj2.aiwentu.net/channels/1174885555914408006/1279070804205637652"
driver.get(url)
time.sleep(6)

# 点击 `ol` 元素,以便能够进行键盘操作
ol_element = driver.find_element(By.CLASS_NAME, "scrollerInner_e2e187")
ol_element.click()

# 初始化 Actions 类
actions = ActionChains(driver)

# 开始向上滚动并检测指定的div元素是否出现
target_div_id = "message-content-1280181015054258246" # 替换为实际的div元素id
while True:
try:
target_div = driver.find_element(By.ID, target_div_id)
if target_div.is_displayed():
print("目标div已找到,开始下载图片...")
break
except:
# 如果找不到目标div,继续使用PAGE_UP向上滚动
actions.key_down(Keys.PAGE_UP).perform()
time.sleep(2) # 等待页面加载

# 等待图片链接加载完成
time.sleep(2)

# 获取目标div之后的所有图片链接并下载
links = driver.find_elements(By.XPATH, f"//div[@id='{target_div_id}']/following::a[@class='originalLink_d4597d']")

# 检查找到的链接数量
if links:
print(f"Found {len(links)} image links.")
else:
print("No image links found.")

# 下载图片
for link in links:
img_url = link.get_attribute('href')
if img_url:
print(f"Downloading from: {img_url}") # 输出正在下载的URL
# 下载图片
img_data = requests.get(img_url).content
img_name = os.path.join(download_directory, os.path.basename(img_url.split("?")[0]))
with open(img_name, 'wb') as img_file:
img_file.write(img_data)
print(f"Downloaded: {img_name}")
else:
print("No valid href found for this link.")

time.sleep(10)
driver.quit()

2024-9-3-midjourney夜间的漫画娱乐批量工作 2024-8-28-suno自动批量制作音乐

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×