나는 사용자 스크립트를 작성 중이며 reactjs에서 작성한 양식을 채울 수 없습니다. 내 코드 :프로그래밍 방식으로 반응 양식 작성
document.querySelector("#id-username").value = "[email protected]";
// Attempt to notify framework using input event
document.querySelector("#id-username").dispatchEvent(new Event("input", {data:"[email protected]"}));
// Attempt to notify framework using change event
document.querySelector("#id-username").dispatchEvent(new Event("change"));
// This doesn't help either
document.querySelector("#id-username").dispatchEvent(new Event("blur"));
// Submit the form using button (it's AJAX form)
document.querySelector("fieldset div.wrap button").click();
이 코드를 페이지로드 후 developper 도구 콘솔에 입력했습니다. 양식이 내 programatical 입력을 무시하지만 :
양식
는 here를 찾을 수 있습니다. 내 작업의 목적은 지정된 웹 사이트에 대한 로그인을 자동화하는 것입니다. 특정 URL을 제공했지만 모든 reactjs 양식에 적용 할 수있는이 문제 (예 : 일부 reactjs API 사용)에 대한 일반적인 해결책을 기대합니다. 다른 사용자는 사이트 자동화 테스트를 작성하는 데이 솔루션이 필요할 수 있습니다.
. 자동화를 시도하기 전에 document.load가 시작되기를 기다리는 것이 좋습니다. 예를 들어 콘솔에서 첫 번째 줄을 실행하고 사용자 이름 상자에 값을 입력했습니다. –
'waitForKeyElements' 또는'MutationObserver' 만 사용하십시오. –
@KeithRousseau 나는 firefox (로딩 후 오랜 시간) 콘솔에서 이것을 테스트했다. 당신이 보는 결과는 userscript에서 나온 것이 아니며 필자도 글을 쓰지 않았다. 페이지를로드 한 후 해당 명령을 테스트했지만 이미 실패했습니다. –