def test_init_chrome_driver_should_create_chrome_driver_and_pass_options(
         self, parameter_list, mock_driver):
     """ Chrome driver should be created and options object passed in it """
     self.args_mock.block = None
     self.args_mock.headless = 0
     options_mock = Mock()
     parameter_list.return_value = options_mock
     init_chrome_driver(self.args_mock)
     mock_driver.assert_called_once_with(chrome_options=options_mock)
 def test_init_chrome_driver_should_be_inicialized_with_headless_option(
         self, parameter_list, mock_driver):
     """ If True passed init_chrome_driver should add --headless option """
     self.args_mock.headless = 1
     self.args_mock.block = None
     options_mock = Mock()
     parameter_list.return_value = options_mock
     init_chrome_driver(self.args_mock)
     options_mock.add_argument.assert_any_call("--headless")
 def test_init_chrome_driver_should_be_inicialized_with_path_to_extension_if_bl_passed(
         self, parameter_list, mock_driver):
     """ If block was passed with -bl and path should add --load-extension argument with path """
     self.args_mock.block = "lel"
     self.args_mock.headless = 0
     options_mock = Mock()
     parameter_list.return_value = options_mock
     init_chrome_driver(self.args_mock)
     options_mock.add_argument.assert_called_once_with("--load-extension=" +
                                                       self.args_mock.block)
def run(args):
    """ Sets up and runs bot """
    driver = init_chrome_driver(args)
    prepare_database(args)
    driver.get(SITE_PATH)
    connection = connect_database(args)
    scrape_ui(driver, connection)
    print("Scraping completed")
    connection = connect_database(args)
    optimal_thread_count = multiprocessing.cpu_count() + 1
    scheduler = ThreadPoolScheduler(optimal_thread_count)
    update_descriptions(connection, scheduler)
    scheduler.executor.shutdown()
    print("Comlete!")
Exemplo n.º 5
0
def run(args):
    """ Sets up and runs bot """
    driver = init_chrome_driver(args)
    symptom_group_action = FormActionOptions(driver)
    symptom_action = FormActionOptions(driver)
    diagnosis_action = FormActionOptions(driver)
    symptom_group_action.set_actions(navigate_symptom_groups,
                                     act_symptom_groups,
                                     get_data_symptom_groups)
    symptom_action.set_actions(navigate_symptoms, act_symptom,
                               get_data_symptom)
    diagnosis_action.set_actions(navigate_diagnosis, act_diagnosis,
                                 get_data_diagnosis)
    crawler = FormCrawler()
    crawler.add_action(symptom_group_action)
    crawler.add_action(symptom_action)
    crawler.add_action(diagnosis_action)
    writer = open_output_file(args.path,
                              ["symptom_group", "symptom", "diagnosis"])
    driver.get(SITE_PATH)
    crawler.crawl(writer["writer"])
    writer["file"].close()
    driver.close()