-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.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'は数秒です。 –