diff --git a/__init__.py b/__init__.py index fcc6d61..aee5726 100644 --- a/__init__.py +++ b/__init__.py @@ -8,8 +8,8 @@ from os import path from bs4 import BeautifulSoup from datetime import datetime +global driver, banList -global banList banList = [] if path.exists('./ban_list.txt'): f = open('./ban_list.txt') @@ -17,6 +17,24 @@ if path.exists('./ban_list.txt'): banList.append(line.lower()) f.close() +professionsList = [] +if path.exists('./professions_list.txt'): + f = open('./professions_list.txt') + for line in f.readlines(): + banList.append(line.lower()) + f.close() + +weightsList = {} +if path.exists('./weights_list.txt'): +f = open('./weights_list.txt') + for line in f.readlines(): + question = line.split(':')[0] + if question[-1:] == ' ': + question = question[:-1] + weights = line.split(':')[1].split() + weightsList[question] = weights + f.close() + def button_by_text(text): # получение кнопки по тексту на ней @@ -75,7 +93,7 @@ def not_in_ban_list(word): def profile_maker(): - global areas_of_activity + global driver forms_list = driver.find_elements_by_class_name( 'freebirdFormviewerViewItemsItemItem') # получение форм со страницы @@ -129,6 +147,7 @@ def profile_maker(): field = form.find_elements_by_class_name('quantumWizTextinputPapertextareaInput')[ 0] # получение полей для ввода с формы field.click() + # field.send_keys(random.choice(professionsList)) field.send_keys(get_profession()) elif header == 'Укажите Ваш стаж работы в текущей должности (полных лет)': @@ -137,8 +156,28 @@ def profile_maker(): buttons_list[random.randint(0, len(buttons_list) - 1)].click() +def smart_buildozer(): + + global driver + + forms_list = driver.find_elements_by_class_name( + 'freebirdFormviewerViewItemsItemItem') # получение форм со страницы + for form in forms_list: + header = form.find_element_by_class_name( + 'freebirdFormviewerViewItemsItemItemHeader').text # получение заголовка формы + if header[-1:] == '*': + header = header[:-2] + + buttons_list = form.find_elements_by_class_name( + 'appsMaterialWizToggleRadiogroupRadioButtonContainer') # получение кнопок-радио с формы + button = random.choices(buttons_list, weightsList[header], k=1)[0] + button.click() + + def bulldozer(): + global driver + forms_list = driver.find_elements_by_class_name( 'freebirdFormviewerViewItemsItemItem') # получение форм со страницы for form in forms_list: @@ -152,16 +191,21 @@ def bulldozer(): buttons_list[random.randint(0, len(buttons_list) - 1)].click() -if __name__ == '__main__': +def main(): + + global driver url = 'https://docs.google.com/forms/d/1f716YOLUrKhtjTlR4hYiEWkgwjqylR5fCPxWsHQKJqY' # url = int(input('Введите ссылку на форму: ')) - respondents = int(input('Введите желаемое число респондентов: ')) + respondents = int(input(datetime.now().strftime( + '[%X] ') + 'Введите желаемое число респондентов: ')) options = webdriver.firefox.options.Options() options.headless = True driver = webdriver.Firefox(options=options) + print(datetime.now().strftime('[%X] ') + 'Начато') + with progressbar.ProgressBar(max_value=respondents) as bar: for i in range(respondents): bar.update(i) @@ -179,3 +223,10 @@ if __name__ == '__main__': break driver.close() + + print(datetime.now().strftime('[%X] ') + 'Завершено') + + +if __name__ == '__main__': + + main() diff --git a/ban_list.txt b/ban_list.txt index bab8c29..8de63c9 100644 --- a/ban_list.txt +++ b/ban_list.txt @@ -1,3 +1,4 @@ секрет суд -федерал \ No newline at end of file +федерал +Исключен \ No newline at end of file