Всем привет, мы снова встретились, я ваш друг Цюаньчжаньцзюнь.
1. Автоматически загружать файлы,
1. Общая грамматика
– WinActivate(“title”) фокусируется на указанном активном окне. – ControlFocus («заголовок», «Текст окна», controlID) устанавливает фокус ввода на элемент управления в указанном окне; — WinWait («заголовок», «текст окна», таймаут) приостанавливает выполнение скрипта до тех пор, пока указанное окно не существует (появится); – ControlSetText («заголовок», «Текст окна», controlID, «Новый текст») Изменяет текст указанного элемента управления; – Sleep (задержка) заставляет скрипт приостанавливаться на заданное время в миллисекундах; – ControlClick («заголовок», «Текст окна», идентификатор элемента управления, кнопка, количество кликов) отправляет команду щелчка мыши на указанный элемент управления;
2.Напишите сценарий
1) Откройте веб-страницу и нажмите, чтобы загрузить интерфейс файла.
Например, блог-сад->Новое эссе->Загрузить фотографии,Оставайтесь в этом интерфейсе, не двигаясь
2) Откройте редактор сценариев SciTE для написания сценариев.
ControlFocus("Открыть","","Edit1")
;Определить окна Windows
WinWait("[CLASS:#32770]","",10)
;Окно подождите десять секунд
ControlSetText("Открыть", "", "Edit1", "f:\abc\xyz.txt")
;Хотите ввести адрес для загрузки в поле ввода
Sleep(2000)
ControlClick("Открыть", "","Button1");
;Нажмите кнопку [Открыть]
Создать exe-файл с параметрами
ControlFocus("Открыть","","Edit1")
;Определить окна Windows
WinWait("[CLASS:#32770]","",10)
;Окно подождите десять секунд
ControlSetText("Открыть", "", "Edit1", $CmdLine[1])
;Хотите ввести адрес для загрузки в поле ввода
Sleep(2000)
ControlClick("Открыть", "","Button1");
;Нажмите кнопку [Открыть]
Java-скрипт выполняет указанный выше exe-файл и передает параметры.
@Test
public void test2() {
try {
Process process = new ProcessBuilder("d:\\upLoad.exe","d:\\1.xls").start();
} catch (IOException e) {
e.printStackTrace();
}
}
После редактирования запустите его и увидите, что изображение успешно загружено.
3. Расположение элемента
Откройте информацию об окне AutoIt, чтобы найти элементы окна загрузки файла (заголовок и идентификатор элемента управления).
идентификатор элемента управления состоит из класса и экземпляра
4. Экспортируйте exe-файл.
Откройте информацию об окне AutoIt и экспортируйте скрипт в exe-файл.
Щелкните непосредственно exe-файл, чтобы запустить его, или запустите его через cmd, чтобы убедиться, что изображение успешно загружено.
5. запуск Python
(См. пакетную загрузку изображений)
2. Параметры командной строки для загрузки изображений
Загружайте изображения пакетами с помощью параметров командной строки.
1. Параметры командной строки
Параметризируйте входящие параметры через параметры командной строки autoit: "` myProg.exe param1 «Это строковый параметр» 99 "` В скрипте для получения параметров командной строки можно использовать следующие переменные:
CmdLine[0];=3CmdLine[0];=3CmdLine[1] ; = param1 CmdLine[2];=”Thisisastringparameter“CmdLine[2];=”Thisisastringparameter”CmdLine[3] ; = 99 $CmdLineRaw ; = ‘param1 “This is a string parameter” 99’
– CmdLine[0] получает общее количество параметров командной строки. В приведенном выше примере CmdLine[0] получает общее количество параметров командной строки. В приведенном выше примере CmdLine[0]=3. – CmdLine[1] CmdLine[1] CmdLine[63] получает цифры с 1 по 63 параметров командной строки. Этот метод может получить только до 63 параметров, но в нормальных обстоятельствах этого достаточно. – $CmdLineRaw получает все неразделенные параметры, которые представляют собой длинную строку. В этом случае она не ограничена 63 параметрами.
2. Сохранив следующий код в виде файла .exe (выберите любое имя файла: cmdjpg.exe), выполните его один раз в cmd, чтобы проверить, успешен ли он. "` WinActivate("Загрузка файла"); ControlSetText("Загрузка файла", "", "Edit1", $CmdLine[1] ); Сон (2000); ControlClick("Загрузка файла", "", "Кнопка1"); "`
3. Выполнить с помощью кода Python "` питон # Путь для загрузки изображения путь_файла = «D:\\1.png» # Выполняем autoit для загрузки файлов os.system(“C:\Users\Gloria\Desktop\cmdjpg.exe %s” % file_path) # Ваш собственный локальный "`
3. Загружайте изображения партиями
1. Способ 1. Сначала поместите изображения для загрузки в список, а затем используйте цикл for. "` питон #Помещаем изображения, которые необходимо загрузить в список all_png = [“D:\\1.png”, “D:\\2.png”, “D:\\3.png”, “D:\\4.png”] # Циклически нажимайте, чтобы загрузить изображения для меня в all_png: #1 Нажмите, чтобы открыть изображение редактора
# 2 Нажмите кнопку загрузки файла. # Выполняем autoit для загрузки файлов
os.system("C:\Users\Gloria\Desktop\cmdjpg.exe %s" % i) # Ваш собственный локальный путь к .exe время.сон(3) "`
2. Способ 2. Пронумеруйте изображения для загрузки, например: 0.png, 1.png, 2.png (нумерация начинается с 0), поместите их в один каталог, а затем используйте цикл for. "` питон # Циклически нажимайте, чтобы загрузить изображения для меня в диапазоне (4): #1 Нажмите, чтобы открыть изображение редактора # 2 Нажмите кнопку загрузки файла. # имя файла
file_name = “D:\\%s.png” % i # Параметризованное имя пути # Выполняем autoit для загрузки файлов os.system(“C:\Users\Gloria\Desktop\cmdjpg.exe %s” % имя_файла) # Ваш собственный локальный путь к .exe время.сон(3) "`
Справочный код метода 2:
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
import os
import time
profile_path = r'C:\Users\Administrator\AppData\Roaming\Mozilla\Firefox\Profiles\2hzyvtjr.default'
profile = webdriver.FirefoxProfile(profile_path)
driver = webdriver.Firefox(profile)
def find_element_(loactor):
e = WebDriverWait(driver,timeout = 30).until(lambda x : x.find_element(*loactor))
return e
def find_elements_(loactor):
e = WebDriverWait(driver,timeout = 30).until(lambda x : x.find_elements(*loactor))
return e
driver.get(r'http://www.cnblogs.com/dhs94/')
find_element_(('id','blog_nav_newpost')).click()
#Цикл загрузки фотографий
for i in range(4):
find_element_(('id','Editor_Edit_EditorBody_uploadImage')).click()
iframes = find_elements_(('css selector','iframe'))
driver.switch_to_frame(iframes[1])
# find_element_(('name','file')).send_keys(r'C:\Users\lintao\Desktop\me.jpg')
find_element_(('css selector','.qq-upload-button')).click()
file_path=r'd:\Pictures\pjy\%s.jpg'%i
os.system(r'C:\Users\Administrator\Desktop\ss.exe %s'%file_path)
driver.switch_to_default_content()
time.sleep(5)
выполнение Java-скрипта
Runtime upload = Runtime.getRuntime();
try {
String au3exe = "F:\\abc\\up1.exe";
upload.exec(au3exe);
}catch (IOException e){
System.out.println("Fail to upload!");
e.printStackTrace();
}
Издатель: Full stack программист и руководитель стека, укажите источник для перепечатки: https://javaforall.cn/155810.html Исходная ссылка: https://javaforall.cn