【发布时间】:2019-01-10 12:34:26
【问题描述】:
我正在尝试使用 Excel VBA 检查网页上的复选框。我的代码不起作用。 (没有错误但打勾了)
如何在网页上显示勾号?
我在网络抓取方面做错了吗?
HTML:
<div class="slick-header ui-state-default">
<div class="slick-header-columns ui-sortable" style="left: -1000px;" unselectable="on">
<div title="Sélectionner / désélectionner tout" class="ui-state-default slick-header-column" id="slickgrid_951473vssGrid_rowSelect_123527" style="width: 21px;">
<div class="header">
<input type="checkbox">
</div>
</div>
<div class="ui-state-default slick-header-column" id="slickgrid_951473purchase_order" style="width: 104px;">
<div class="header slick-sort-header"><span class="slick-column-name">Bon de commande</span></div><span class="slick-sort-indicator"></span>
<div class="slick-resizable-handle"></div>
</div>
<div class="ui-state-default slick-header-column" id="slickgrid_951473purchase_order_date" style="width: 104px;">
<div class="header slick-sort-header"><span class="slick-column-name">Date de la commande</span></div><span class="slick-sort-indicator slick-sort-indicator-asc"></span>
<div class="slick-resizable-handle"></div>
</div>
<div class="ui-state-default slick-header-column" id="slickgrid_951473latest_ship_date" style="width: 103px;">
<div class="header slick-sort-header"><span class="slick-column-name">Date d'expédition maximale</span></div><span class="slick-sort-indicator"></span>
<div class="slick-resizable-handle"></div>
</div>
<div class="ui-state-default slick-header-column" id="slickgrid_951473vendor_code" style="width: 103px;">
<div class="header slick-sort-header"><span class="slick-column-name">Vendor code</span></div><span class="slick-sort-indicator"></span>
<div class="slick-resizable-handle"></div>
</div>
<div class="ui-state-default slick-header-column" id="slickgrid_951473payee_code" style="width: 103px;">
<div class="header slick-sort-header"><span class="slick-column-name">Code bénéficiaire</span></div><span class="slick-sort-indicator"></span>
<div class="slick-resizable-handle"></div>
</div>
<div class="ui-state-default slick-header-column" id="slickgrid_951473warehouse_id" style="width: 103px;">
<div class="header slick-sort-header"><span class="slick-column-name">Entrepôt de destination</span></div><span class="slick-sort-indicator"></span>
<div class="slick-resizable-handle"></div>
</div>
<div class="ui-state-default slick-header-column" id="slickgrid_951473currency_code" style="width: 103px;">
<div class="header slick-sort-header"><span class="slick-column-name">Devise</span></div><span class="slick-sort-indicator"></span>
<div class="slick-resizable-handle"></div>
</div>
<div class="ui-state-default slick-header-column" id="slickgrid_951473status" style="width: 103px;">
<div class="header slick-sort-header"><span class="slick-column-name">Statut</span></div><span class="slick-sort-indicator"></span></div>
</div>
</div>
VBA 代码:
Sub automationAmazon()
Dim ie As Object
Set ie = CreateObject("internetexplorer.application")
With ie
.Visible = True
.navigate "link"
Do While .busy
DoEvents
Loop
Do While .readyState <> 4
DoEvents
Loop
End With
Set Email = ie.document.getelementbyid("ap_email")
Email.Value = "email@exemple.com"
Set Password = ie.document.getelementbyid("ap_password")
Password.Value = "xxx"
Set submit = ie.document.getelementbyid("signInSubmit")
submit.Click
With ie
.navigate "link"
Do While .busy
DoEvents
Loop
Do While .readyState <> 4
DoEvents
Loop
End With
ie.document.all("searchBy").Value = "PURCHASE_ORDER"
ie.document.all("purchaseOrderNumber").Value = ThisWorkbook.Sheets("Data").Cells(1, 2).Text
ie.document.getelementbyid("create-invoice-search-submit").Click
Dim cBox As Object
Set cBox = ie.document.getElementsByClassName("header")(0)
cBox.Click
End Sub
HTML:
【问题讨论】:
-
很抱歉,这是一个 Intranet 的链接。如果有帮助,我可以与您分享源页面
-
我试图把所有的信息 :-)
标签: excel vba checkbox web-scraping webpage