Выделить используя Ctrl..

  • Автор темы Автор темы Sergodjan
  • Дата начала Дата начала

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
22 828
Реакции
10 242
Баллы
113
есть задача выделить несколько файлов в гугль-диске и расшарить их забрав ссылки..
с забором ссылок проблем нет, а вот как выделить файлы?
можно выделить все файлы через снипет C# эмулирующий нажатие Ctrl + A, это работает,
но у гугля есть ограничение на одновременные операции по кол-ву файлов, когда он выводит
попап-окно с сообщением, что: "слишком много файлов"..

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

для кратковременного нажатия Ctrl+A использовал снипет: instance.ActiveTab.KeyEvent("A","press","ctrl");
но теперь нужно нажать Ctrl и не отпускать его и одновременно кликать по файлам..
 
Последнее редактирование:
Выделяй все, кидай в список, а там делай выборку, по скольку тебе надо
так не получится, мне надо именно в интерфейсе гугл-диска выделить пачку файлов, допустим первые 100, сделать над ними действия путем опять же взаимодействия с интерфейсом гугл-диска (расшарить их публично и забрать ссылки на них), потом выделить след. пачку в 100 файлов и т.д..
 
Тады не знаю. Может кто-то другой подскажет. Но, в последнее время активности в плане подсказок мало стало. Наверное, все "знатоки" заняты написанием статей для 7-го конкурса.
 
Подключи api и не парься. Я к тому, что будет очень сложно выделить элементы, а через api, ты сразу получаешь список и уже с ним легче работать. Хотя у элементов, фиксированная ширина и тут можно зацепиться и сделать цикл, с условием, если совпадает. Поиск будет по fulltagname, т.к. все элементы рандомные.
 
Последнее редактирование:
Подключи api и не парься. Я к тому, что будет очень сложно выделить элементы, а через api, ты сразу получаешь список и уже с ним легче работать. Хотя у элементов, фиксированная ширина и тут можно зацепиться и сделать цикл, с условием, если совпадает. Поиск будет по fulltagname, т.к. все элементы рандомные.
попытался немного погуглить, но ничего не смог найти путного по api гугл.диска..
каким образом его можно подключить, и будет ли api работать со многими десяткам или даже сотнями аккаунтов гугл.диска?
 
спасибо за ссылки, посмотрел, но понял, что не хочется лезть в такие дебри, ради дешевого шаблона..
может все же кто то подскажет, как сделать попроще, без api?

To All:
напомню: нужно зажать кн. Ctrl и не отпуская ее прокликивать файлы в гугль-диске..
прокликивать - нет проблем, задача именно с кн. Ctrl, чтобы нажать ее и не отпускать,
пока не прокликаются все файлы в пределах выставленного счетчика..
прокликали напрмиер 100 файлов, отпускаем кн. Ctrl и перестаем прокликивать файлы,
идем на расшаривание и получение ссылок на эти 100 файлов..
 
Последнее редактирование:
Попробуй залезть под старым юзер агентом мобильным, там возможно появится чекбокс для файлов.
 
  • Спасибо
Реакции: Sergodjan
Бывалые форумчане помогите )))

Аналогичная проблема, как в данной теме.

Нужно зажать ctrl, потом сделать клики по кнопке Прикрепить.

VrwbnM5fOLdWvA


Код:
Развернуть Свернуть Копировать
var audioList = project.Lists["tempAudio"];

Thread.Sleep(2000);

for (int i=0; i<audioList.Count; i++)
{
    string audio = audioList[i];
   
    var searchField = instance.ActiveTab.FindElementById("ape_edit_playlist_search");
    instance.WaitFieldEmulationDelay();
    searchField.SetValue(audio, instance.EmulationLevel, false);
   
    instance.WaitFieldEmulationDelay();
    Thread.Sleep(3000);
   
    HtmlElement audioItem = instance.ActiveTab.GetDocumentByAddress("0").FindElementByAttribute("div", "class", "ape_audio_item_wrap", "regexp", 0);
    if (audioItem.IsVoid) continue;
   
    instance.WaitFieldEmulationDelay();
   
        var audioattach = audioItem.FindChildByAttribute("div", "class", "^ape_attach$", "regexp", 0);
        instance.WaitFieldEmulationDelay();

        instance.ActiveTab.KeyEvent("ctrl", "down", "");
        audioattach.RiseEvent("click", instance.EmulationLevel);   
        instance.ActiveTab.KeyEvent("ctrl", "up", "");
   
    Thread.Sleep(3000);
}
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)