LINUX.ORG.RU

Вопрос по phyton

 ,


0

1

Всем доброго!

Собственно такая проблема, есть файл в нем список урлов, мне нужно чтоб в моем скрипте в теге type сначала прописывалась первая строка, скрипт выполнялся, потом вторая и т.д.

Вопрос в том как правильно сделать так чтоб в type например писалась строка из списка в файле, например первая (line1)--->скрипт дошел до конца---> потом в type прописалась следующая строка(line2)---> скрипт выполнился и т.д. пока есть строки в списке!

И так происходило пока не закончатся строки в файле

with file(filename) as f:
  for line in f.readlines():
    sikuli-figuli, какой еще скрипт, какой тег, неужели сложно нормально объяснить?
t184256 ★★★★★
()
Ответ на: комментарий от t184256

Скрипт проверяет на сайте определенные страницы из списка и сохраняет результат проверки, нужно чтоб на сайте прописывался урл что он проверяет из списка, который лежит в файле

lammer777
() автор топика
Ответ на: комментарий от lammer777

Т.е. например 10 урлов в списке, так вот нужно чтоб по очереди все эти 10 урлов там прописывались.

type(url1 + Key.ENTER) # ввели первый url из списка wait(5) # подождали пока провериться click()# нажали кнопку сохранить, результат сохранен

И вот теперь нужно чтоб это действие повторялось пока есть строки в файле (урлы)

lammer777
() автор топика
Ответ на: комментарий от lammer777

Как я вижу твой пост:

ахаха, не скажу, но еще есть какой-то сайт.

Итого: есть сайт, есть список урлов, в цикле по нему выполняется скрипт. Еще есть какой-то тег type, его взаимосвязь с вышеперечисленными понятиями является военной тайной, однако в него может «прописаться строка». Что бы это не значило, оно выполняется в том же цикле. Уже что-то.

Если тебе религия не позволяет нормально описать условия, то может хотя бы поднапряжешься и сформулируешь вопрос?

t184256 ★★★★★
()
Ответ на: комментарий от lammer777
import time
with file(filename) as f:
    for url in f.readlines():
        type_5.1_builtin_chtob_ego(url + Key.Enter)
        time.sleep(5)

Боюсь представить, чего ты хочешь и чего же тебе на самом деле надо.

t184256 ★★★★★
()

Где тут вопрос по питону? Пока только вопрос по твоей адекватности.

winlook38 ★★
()
Ответ на: комментарий от t184256

gor = 1920 # Разрешение экрана - горизонталь и vert = 1080 # вертикаль pswdfile = 'D:\pswd.txt' # Полный путь к файлу с паролями (логин:пароль)

imgdir = 'D:\screens\\' #Куда сохранять скрины

pswd = open(pswdfile,'r').readlines() #Читаем файл с паролями

lengthstr = len(pswd) # Количество аккаунтов в файле i=1 # с какого аккаунта начинать

while i >=lengthstr: #Цикл перебирает аккаунты от i до последнего в файле

logpas = pswd.replace('\n',").split(':') # убираем перенос строки, разделям ак и пас

login = logpas[0]

password = logpas[1]

switchApp(«World of Warcraft») # Переключаемся на запущенный вов

wait(3) #Ждём 3 секунды

click( ) #выделяем поле для логина

type(login + Key.TAB + password + Key.ENTER) # вводим логин и пароль, входим

wait(7) #ждем 7 секунд пока подключится

img = Screen(0).capture(0,0,gor,vert) # и делаем скрин экрана

img1 = file(img,'rb') #открываем скрин

imgname = str(i) + '__' + login + '__' + password #имя файла

img2 = file(imgdir + imgname + '.png','wb')

img1.seek(0)

img2.write(img1.read())

img1.close()

img2.close()

## сохраняем скрин под именем номер__логин__пароль

type(Key.ESC)## выходим из аккаунта

i = i + 1 #+1 к номеру аккаунта и всё поновой.

Мне нужно только не для ВОВ, а для сайта xtool.ru, проверить трастовость сайтов из списка. Т.е. Я делаю на сикули 1. Запускаю браузер 2. Ввожу название сайта в адресную строку, нажимаю Enter, пререхожу на сайт 3. В нужном месте ввожу урл из списка, нажимаю проверить 4. Жду проверки 5. Сохраняю результат

Но я только делаю с одним урлом, а мне нужно чтоб скрипт по очереди прописывал урлы из списка и проверял их на сайте.

В преведенном скрипте выше реализовано подобное, но у меня так не выходит.

lammer777
() автор топика
Ответ на: комментарий от lammer777

В сикули Есть команда type (sreenshot, text)

Нужно чтоб вместо слова text прописывались по очереди url из файла.

lammer777
() автор топика
Ответ на: комментарий от lammer777

<неспособен напрячься и сформулировать вопрос, ВОВ, криво вставленная фигня вместо кода, кто-то сломал type, одноклеточный вопрос...>

кыш

t184256 ★★★★★
()
Ответ на: комментарий от t184256

Боюсь представить, чего ты хочешь и чего же тебе на самом деле надо.

У ТС есть файл со списком URL вида:

http://example.com/?x=1
http://example.com/?x=2
http://example.com/?x=3
http://example.com/?x=4
И есть другой файл со списком вида:
a
b
c
d
И надо получить список вида:
http://example.com/?x=1&type=a
http://example.com/?x=1&type=b
http://example.com/?x=1&type=c
http://example.com/?x=1&type=d
http://example.com/?x=2&type=a
(и т.д.)


lammer777, я правильно угадал?

proud_anon ★★★★★
()
Последнее исправление: proud_anon (всего исправлений: 1)
Ответ на: комментарий от proud_anon

Почитай тред дальше, там не пошлый и обыденный веб, а какие-то инопланетные сикули для руления ненужно под оффтопом.

t184256 ★★★★★
()
Ответ на: комментарий от proud_anon

Да все примерно правильно, мне нужно чтоб скрипт вытаскивал и в нужном месте сначала писал первую строку, потом второю и т.д. до конца строк

Файл я читаю, строки вижу, но вот как вывести в цикле их по очереди я понять не могу, то один символ, то вообще не одной строки не выводится

lammer777
() автор топика
Ответ на: комментарий от lammer777
with open("file1","r") as urls_file:
    with open("file2","r") as types_file:
        urls = urls_file.readlines()
        types = types_file.readlines()
        length = min(len(urls),len(types))
        for index in range(length):
            print(urls[index],types[index])
Dred ★★★★★
()
Последнее исправление: Dred (всего исправлений: 1)
Ответ на: комментарий от Dred

Спасибо большое!Не понял что за второй файл?

А можно как то строке присвоить значение(переменной например «urlz»), и уже выводить так type(urlz + Key.ENTER) ?

lammer777
() автор топика
Ответ на: комментарий от lammer777

ну я так понял есть файлы с урлами, есть с типами, с таким чудесным описанием проблемы нужно угадывать

строке присвоить значение

не распарсил, во-первых, type не выводвит, встроеная ф-ция type определяет тип и гробить её, как минимум, не красиво.

если надо просто присвоить(создать) строковую переменную, что мешает просто воспользоваться urlz = «строка» ?

urlz + Key.ENTER

можно так, а ещё так

Dred ★★★★★
()
Ответ на: комментарий от Dred

Сразу спасибо! Тут смысл даже не в type, смотрите есть файл с N-количеством строк. Мне нужно чтоб мой рабочий скрипт брал первую строку выполнял действие, далее брал вторую и так далее пока не закончятся строки в файле!

lammer777
() автор топика
Ответ на: комментарий от lammer777

целая тема ради такого ? жесть какая

#открываем файл и кладем в переменную opened_file 
with open("file", "r") as opened_file:
    #достём список(list) строк 
    opened_file_lines = opened_file.readlines()
    #простейшим циклом for проходим по списку строк, кладя кажду по очереди в переменную line
     for line in opened_file_lines:
         #выводим строку на экран
         print(line)
Dred ★★★★★
()
Последнее исправление: Dred (всего исправлений: 1)
Ответ на: комментарий от Dred

Вот спасибо большое, бывает, затупил, питон тока начинаю познавать, завтра уже с утра попробую, если что задам Вам еще вопрос!

lammer777
() автор топика
Ответ на: комментарий от Dred

Выдает синтакс ошибку:

[error] Сообщение об ошибке: SyntaxError: («mismatched input " expecting DEDENT», ('C:\\Users\\777\\AppData\\Local\\Temp\\sikuli-tmp4041095420779019986.py', 15, 5, ' for line in opened_file_lines:\n'))

lammer777
() автор топика
Ответ на: комментарий от t184256

инопланетные сикули

Почему-то в голос.

1. Запускаю браузер 2. Ввожу название сайта в адресную строку, нажимаю Enter, пререхожу на сайт 3. В нужном месте ввожу урл из списка, нажимаю проверить 4. Жду проверки 5. Сохраняю результат

А не лучше сразу слать запрос на API, или куда там запрос с формы отправляется?

Зачем какие-то сикули ещё? На будущее: если нужно тыкать мышкой в браузере, то для этого лучше использовать selenium, я считаю.

Kilte ★★★★★
()
Последнее исправление: Kilte (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.