Автопостинг

07 мая 2013, 20:04
Зарегистрирован: 09 апреля 2011, 14:10
Настроил программу как на рис 1, выбрал несколько дневников liveinternet для масс постинга и на отправке третьего поста ошибка (рис 2). В шаблоне я закомментировал несколько строк.

[spoiler:2w4g44y8]procedure Login();

begin

DownloadOptions2(3, false);

ClearCache();

Navigate('http://www.liveinternet.ru/journals.php?s=&action1=login', true);

FillFormAll('username', '$LOGIN');

FillFormAll('password', '$PASSWORD');

JavaExec('document.forms[0].submit();', true);

end;

procedure Posting();

var

cat_name, ekr_cat_name, chk, date : string;

var i : integer;

txt : string;

begin

Navigate('http://www.liveinternet.ru/journal_post.php?exform=0', true);

Wait(7);



//cat_name := GetVar('$POST_CATEGORY');

//ekr_cat_name := Ekranirovat(cat_name);



//chk := SearchInSource('<INPUT[^>]+?name=([^\s]+)[^>]*?>\s*'+ ekr_cat_name +'\s*<br>', 1);

//ChechBoxCheck(chk ,true);

txt := RegEx('<!--\s*more\s*-->', '[more]', GetVar('$POST_TEXT'), false, false, 2);

FillForm('headerofpost', '$POST_TITLE');

FillForm('LiNewPostForm', txt);



FillForm('tags', '$POST_TAGS');

if (isDraftPost()) or (StrToDateTime(GetVar('$POST_DATE')) > now) then

begin

ClickElement('draft', true);

WaitForHTML('>Редактировать</a>');

chk := SearchInSource('<a href="([^"]+)">Редактировать</a>', 1);

if (chk = '') then

begin

WriteToLog('LI отправило нас на пустую страницу, не могу получить ссылку на редактирование. Пропускаю.');

exit;

end;



Wait(14);

Navigate('http://www.liveinternet.ru' + chk, true);

for i := 1 to 5 do

if (chk <> '') and (SearchInSource('name=submit', 0) = '') then

begin

Wait(10);

Navigate('http://www.liveinternet.ru' + chk, true);

end;

//WaitForHTML('name=submit');

if (SearchInSource('name=submit', 0) = '') then

begin

WriteToLog('LI не даёт перейти на страницу редактирования либо на странице нету кнопки submit. Пропускаю.');

exit;

end;



ChechBoxCheck('change_post_date_draft' ,true);

//14-12-2011 19:15

WriteToLog('Дата поста в программе: ' + GetVar('$POST_DATE'));

date := GetVar('$POST_DAY') + '-' + GetVar('$POST_MONTH') + '-' + GetVar('$POST_YEAR') + ' ' + GetVar('$POST_HOUR') + ':' + GetVar('$POST_MINUTES');

FillForm('post_new_date_draft', date);

Wait(10);

ClickElement('submit', true);

end else ClickElement('zsubmit', true);

end;

procedure GoToCatSetings();

begin

end;

procedure CatAdd(name:string);

begin

Navigate('http://www.liveinternet.ru/journal_setcat.php?action=addnew', true);

FillForm('word', name);

//Расскамментируйте строку ниже, если вам нужны категории в виже серии сообщений

//ChechBoxCheck('seria' ,true);

JavaExec('document.forms[0].submit();', true);

end;

procedure AddCategories();

var

cat_name, ekr_cat_name : string;

begin

Navigate('http://www.liveinternet.ru/journal_setcat.php', true);

cat_name := GetVar('$CAT_NAME');

ekr_cat_name := Ekranirovat(cat_name);



if SearchInSource('<td>(?:&nbsp;)*\s*('+ ekr_cat_name +')\s*<', 1) <> cat_name

then CatAdd(cat_name);

end;
[/spoiler:2w4g44y8]



08 мая 2013, 02:43
Зарегистрирован: 10 апреля 2012, 00:00
Скиньте файлы из папки "Bug Reports"



08 мая 2013, 03:27
Зарегистрирован: 09 апреля 2011, 14:10
Скидываю



08 мая 2013, 04:17
Зарегистрирован: 10 апреля 2012, 00:00
Перезаписал последний багфикс. Скачайте его еще раз и проверьте пожалуйста.

По отчетам стало проще искать проблемные места, но сложнее точно определять причину возникновения проблемы, потому я на 100% не уверен всё ли я исправил.



Тема закрыта