【问题标题】:How to select a time in a time picker while web-scraping in excel VBA如何在excel VBA中进行网络抓取时在时间选择器中选择时间
【发布时间】:2018-06-20 05:16:03
【问题描述】:

我正在尝试使用 excel VBA 从下面的时间选择器中选择 09。我已经到了下面的行,但不知道如何进行。任何帮助将不胜感激。

Set e = appIE.document.getElementbyid("timepicker-pickup")


<div class="timepicker" id="timepicker-pickup">
        <div class="arrow"></div>
        <div class="icon close-btn"></div>
        <div class="inner-time-picker clearfix">
            <div class="section hours">
                <div class="up-arrow"><span class="icon arrow"></span></div>
                <div class="selectors">
                    <ul>
                        <li data-value="00">00</li>
                        <li data-value="01">01</li>
                        <li data-value="02">02</li>
                        <li data-value="03">03</li>
                        <li data-value="04">04</li>
                        <li data-value="05">05</li>
                        <li data-value="06">06</li>
                        <li data-value="07">07</li>
                        <li data-value="08" class="selected">08</li>
                        <li data-value="09">09</li>
                        <li data-value="10">10</li>
                        <li data-value="11">11</li>
                    </ul>
                </div>
                <div class="down-arrow"><span class="icon arrow"></span></div>

【问题讨论】:

标签: excel vba web-scraping


【解决方案1】:

CSS selectors:

试试选择器#timepicker-pickup li:nth-child(10)

appIE.document.querySelector("#timepicker-pickup li:nth-child(10)").Click

# 表示 className,因此在 className timepicker-pickup 的元素中选择第 10 个 li 标记

或选择器#timepicker-pickup [data-value='09']

appIE.document.querySelector("#timepicker-pickup *[data-value='09']").Click

这只是一个缩写,我在 timepicker-pickup 的类名中查找具有属性 data-value='09' 的任何内容

我用最新的进行了测试。


CSS 选择器:


VBA 代码:

Public Sub test()
    Dim ieApp As InternetExplorer, URL As String

    URL = "https://www.europcar.co.za/"
    Set ieApp = New InternetExplorer

    With ieApp
        .Visible = True
        .navigate URL
        While .Busy Or .readyState < 4: DoEvents: Wend

        .document.querySelector("#timepicker-pickup [data-value='09']").Click

        Stop '<== Delete me
        '.Quit <'== Uncomment me
    End With
End Sub

【讨论】:

    猜你喜欢
    • 2015-01-10
    • 2015-12-17
    • 1970-01-01
    • 1970-01-01
    • 2020-11-24
    • 2011-04-13
    • 1970-01-01
    • 2015-09-03
    • 2016-07-19
    相关资源
    最近更新 更多