Добрый день. Есть сайт. Нужно получать с него отчеты о прохождении тестов пользователями.
Звучит всё достаточно просто:
Открыть страницу
Поставить флаги в несколько checkbox
В паре окон выбора указать значения
и нажать кнопку
Пока у меня код следующий.
	
	
	
	
  
    
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
Но верно в нем отрабатывает только нажатие кнопки. Правда поскольку чекбоксом не выбран ни один тест, то выходит сообщение "выберите тесты по которым хотите увидеть оценки"
При этом "забавная ситуация": showReportBelow - это клетка "Показать отчет ниже", флаг в ней не появляется, но если после выполнения скрипта проставить все другие флаги (кроме этого), то отчет действительно выйдет ниже, так будто флаг в этой ячейке всё же стоит.
Куски кода с сайта:
тут фрагмент с чекбоксом, при нажатии на которую должны выделиться все тесты (программы обучения)
	
	
	
	
  
    
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
тут фрагмент с чекбоксом "Скрыть неназначенных" и "Показать отчет ниже"
	
	
	
	
  
    
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
Это сайт с авторизацией, поэтому войти вы туда не сможете.
Но я очень надеюсь что вы покажете примеры рабочие.
И еще. Мне в примерах попадаются функции
_IEFormElementCheckBoxSelect
Но как я понял на том сайте нет блоков "Form"
			
			Звучит всё достаточно просто:
Открыть страницу
Поставить флаги в несколько checkbox
В паре окон выбора указать значения
и нажать кнопку
Пока у меня код следующий.
			
				Код:
			
		
		
		#include <IE.au3>
#include <StringConstants.au3>
#AutoIt3Wrapper_Run_Debug_Mode=Y
Local $oIE = _IECreate("https://riptib.ispringonline.ru/reports/generate/performance_summary",0,1,0,1)
While $oIE.Busy
WEnd
$doc = $oIE.document
; wait for it...
While $doc.ReadyState <> "complete"
WEnd
; выбрать все виды тестов
$oDiv1 = $doc.getElementById("itemSelectionCheckAllCheckboxContainer")
$oDiv1.checked = True
Sleep(1000)
; чекбокс "Скрыть неназначенных"
$oDiv2 = $doc.getElementById("excludeNotAssigned")
$oDiv2.checked = True
Sleep(1000)
; выводить отчет на этой странице ниже, а не на новой странице
$oDiv6 = $doc.getElementById("showReportBelow")
$oDiv6.checked = True
Sleep(1000)
Local $oButton = _IEGetObjById($oIE, "btnRunReport")
_IEAction($oButton, 'focus')
_IEAction($oButton, 'click')
_IELoadWait($oIE)
	Но верно в нем отрабатывает только нажатие кнопки. Правда поскольку чекбоксом не выбран ни один тест, то выходит сообщение "выберите тесты по которым хотите увидеть оценки"
При этом "забавная ситуация": showReportBelow - это клетка "Показать отчет ниже", флаг в ней не появляется, но если после выполнения скрипта проставить все другие флаги (кроме этого), то отчет действительно выйдет ниже, так будто флаг в этой ячейке всё же стоит.
Куски кода с сайта:
тут фрагмент с чекбоксом, при нажатии на которую должны выделиться все тесты (программы обучения)
			
				Код:
			
		
		
		<div class="clear"></div>
</div><input type="hidden" id="showDeletedStateSaveUrl" value="/reports/show_deleted/update" />                    </div>
                                                    <div class="select_all_checkbox header_item">
                        <div id="itemSelectionCheckAllCheckboxContainer" class="no_top_margin checkbox_field_container">
    <div class="checkbox_holder">
        <input
          id="itemSelectionCheckAllCheckbox"
          data-form-field-id="itemSelectionCheckAllCheckbox"
          data-form-field-type="checkbox"
          data-form-field-error-type="no_error"
          data-form-field-error-container-id="itemSelectionCheckAllCheckbox"
          data-form-field-initial-value=""
          data-form-field-large-click-area="0"
          data-element-value="0"
          type="checkbox"
          name=""
          value="0"
          class="form_field checkbox_form_field"
          title=""
          autocomplete="off"
                            />
    </div>
	тут фрагмент с чекбоксом "Скрыть неназначенных" и "Показать отчет ниже"
			
				Код:
			
		
		
		<div class="report_step_content generate_report">
      <div class="run_report_settings_container">
                        <span class="exclude_not_assigned">
  <input type="checkbox" class="checkbox" id="excludeNotAssigned" />
  <label for="excludeNotAssigned" class="active">Скрыть неназначенных</label>
</span>        <div class="show_report_below_container">
          <div id="showReportBelowContainer" class="with_label checkbox_field_container">
    <div class="checkbox_holder">
        <input
          id="showReportBelow"
          data-form-field-id="showReportBelow"
          data-form-field-type="checkbox"
          data-form-field-error-type="no_error"
          data-form-field-error-container-id="showReportBelow"
          data-form-field-initial-value=""
          data-form-field-large-click-area="0"
          data-element-value="0"
          type="checkbox"
          name=""
          value="0"
          class="form_field checkbox_form_field"
          title=""
          autocomplete="off"
                            />
    </div>
            <label title="Показать отчет ниже" id="showReportBelowLabel" class="active checkbox_field_label" for="showReportBelow">Показать отчет ниже</label>
                        <div class="clear"></div>
</div>        </div>
      </div>
	Это сайт с авторизацией, поэтому войти вы туда не сможете.
Но я очень надеюсь что вы покажете примеры рабочие.
И еще. Мне в примерах попадаются функции
_IEFormElementCheckBoxSelect
Но как я понял на том сайте нет блоков "Form"