-1
나는이 상황에서 행운이없이 해결하기 위해 애 쓰고 있습니다. Excel에서 VBA를 사용하여 웹 사이트를 탐색합니다. 이 웹 사이트에서는 VBA를 사용하여 id가 id-01
인 div를 클릭하여 정상적으로 작동합니다. 그 div#id-01
을 클릭하면 id가 id-02
인 다른 div가 생성됩니다.이 div를 클릭하고 싶습니다. id-02
이있는 div를 VBA와 함께 클릭하려면 어떻게해야합니까?VBA ID가있는 동적 생성 div를 클릭하십시오.
Set IE = CreateObject("InternetExplorer.Application")
'
'code to navigate to site and wait for site to load
'
'Get div#id-01 and click on it
Set first = IE.document.getElementById("id-01")
'click it
first.click
'The following code does not work because
Set second = IE.document.getElementById("id-02")
second.click
을 아마 대신 요소 ID의 사용자가 사용할 수있는 [태그 이름] (https://msdn.microsoft.com/en-us/library/ms536439 (V = VS.85) .aspx)? id-01을 누른 다음 id-02를 클릭하는 대신 id-01의 "자식"으로 처리해야하는 것처럼 보입니다. – Sgdva
페이지 렌더링이 끝나고 div # id-01을 클릭하기 전에, div # id-02'. 아마도 div # id-01'을'div # id-01'의 자식으로 참조하는 방법이나 ID를 대상으로하는 방법은 다르지 않을 것입니다. 왜냐하면'ID.document' 개체가' div # id-02', 객체가 id-02에 대해 알고 있다면 위의 코드가 작동 했어야합니다. –
가능한 복제본 : http://stackoverflow.com/questions/11820548/is-there-a-way-in-vba-to-get-elements-produced-by-javascript. 조언은'first.click'과'Set second = ...'사이의'Application.Wait Now + TimeSerial (0,0, x)'에 대한 것이고,'x'는 몇 초입니다. –