2016-07-01 2 views
1

아마존 웹 사이트를 열어 제품을 선택하고 장바구니로 이동하여 카트를 누르고 수량 (예 : 450)을 변경하려고합니다. 수량을 변경하는 마지막 단계를 해결하는 데 문제가 있습니다.vba로 아마존의 수량 변경

Set Element = .document.getElementsByName("quantatiy").value = 10 
End with 

모두 작동하지 않습니다

Set objIE = CreateObject("InternetExplorer.Application") 
With objIE` 

Set Element = .document.getElementsById("dropdown1_9") 
Element.Click 

이 :

This is the quantity button.

나는이 시도. 나는 조작하려는 단추의 유형을 알지 못한다고 생각합니다.

누군가가 문제를 해결해 줄 수 있습니까? 수량을 변경하려면 어떻게해야합니까?

+0

quantatiy은 올바른 철자입니까? 또한 IE가 준비되었는지 확인하기 위해 약간의 대기 시간을 추가하십시오. –

+0

더 많은 것을 시도하십시오 : 'Set Element = .document.getElementsByName ("quantatiy"). selectedindex = 1' 맞춤법에 대해서도 확실합니까? –

+0

웹 스토어와 마찬가지로 프런트 엔드를 코딩하는 것은 위험 할 수 있습니다. 아마존이 내일 사이트를 업데이트하고 최신 버전이 다른 이름을 사용하면 어떻게됩니까? 코드가 작동하지 않거나 예기치 않은 방식으로 작동하기 시작할 수 있습니다 (예 : 원하지 않는 항목 주문). 가능한 경우 [API] (https://en.wikipedia.org/wiki/Application_programming_interface)에 대해 코드를 작성해야합니다. –

답변

0

나는이 코드를 사용하여 코드를 바구니에 넣지는 않았지만 사용자가 묻는 것을 수행합니다. 향후 교정 할 확신이 없습니다.

Public Sub test() 


Dim objIE As SHDocVw.InternetExplorer 
Dim objDoc As MSHTML.HTMLDocument 
Dim ele As MSHTML.IHTMLElementCollection 
Dim e As MSHTML.IHTMLElement 

Set objIE = New SHDocVw.InternetExplorer 

objIE.Visible = True 

objIE.navigate "www.amazon.co.uk" 

While objIE.Busy Or objIE.readyState <> READYSTATE_COMPLETE 
    DoEvents 
Wend 

Set objDoc = objIE.document 

Set ele = objDoc.getElementsByClassName("a-button-text a-declarative") 

Set e = ele(0) 

e.innerText = 2 

End Sub