单击源代码只声明class和href的IE按钮



我已经设法在VBA中编写正确的代码来打开特定的网站。我现在要编写正确的代码,这将导致点击该网站上的特定按钮。

我真的很难粘贴元素的代码,这是我想要我的VBA代码点击的按钮。但这是网站上的最后一个"Get a quote"按钮,它就在下面的文字:_"You're in good hands"

问题的另一部分是这个页面上有另一个类似的按钮,源代码如下:

</div>
    <div class="SelfService-quote">
            <div class="SelfService-quoteBtn">
<button class="sg-Btn sg-Btn--primary">GET a QUOTE for <span
        class="Icon-arrowBottom--light Icon--xsmall SelfService-btnArrow"></span>
</button>
</div>

所以我需要做的是能够自动点击正确的按钮。如果有人可以为我提供的VBA代码,那将是非常有帮助的。

你想点击的按钮并不是一个真正的按钮。它只是一个伪装成按钮的链接(<a>)。

<a class="sg-Btn sg-Btn--primary" href="/secure/comprehensive-car-insurance-get-a-quote.html">
    <span>Get a quote</span>
</a>

所以真的没有必要去"点击"它的麻烦。直接导航到URL:

ie.Navigate "https://www.aami.com.au/secure/comprehensive-car-insurance-get-a-quote.html"

如果你想"点击"它,但是,你可以使用GetElementsByClassName()来返回匹配该类的DOM元素数组。它将返回两个元素。要单击的链接/按钮是第二个元素(数组索引1):

Dim e
Set e = ie.Document.GetElementsByClassName("sg-Btn sg-Btn--primary")(1)
e.Click

@Bond是正确的。"获取引用"元素都不是真正的按钮(给他的答案投票,而不是我的)。第一个生成一个链接下拉框,如下所示:

<ul class="SelfService-quoteList sg-List-unstyled">
    <li class="SelfService-quoteItem"><a href="/secure/comprehensive-car-insurance-get-a-quote.html" target="_self" class=" ">Car Insurance</a></li>
    <li class="SelfService-quoteItem"><a href="/secure/home-insurance-get-a-quote.html" target="_self" class=" ">Home & Contents</a></li>
    <li class="SelfService-quoteItem"><a href="/secure/renters-fire-theft-get-a-quote.html" target="_self" class=" ">Renters Fire & Theft</a></li>
    <li class="SelfService-quoteItem"><a href="/secure/landlord-home-get-a-quote.html" target="_self" class=" ">Landlord Insurance</a></li>
    <li class="SelfService-quoteItem"><a href="/secure/travel-insurance-get-a-quote.html" target="_self" class=" ">Travel Insurance</a></li>
    <li class="SelfService-quoteItem"><a href="/motorcycle-insurance.html" target="_self" class=" ">Motorcycle Insurance</a></li>
    <li class="SelfService-quoteItem"><a href="/secure/nsw-ctp-get-a-quote.html" target="_self" class=" ">CTP Greenslip - NSW</a></li>
    <li class="SelfService-quoteItem"><a href="/life-insurance/quotes.html" target="_self" class=" ">Life Insurance</a></li>
    <li class="SelfService-quoteItem"><a href="/life-insurance/income-protection.html" target="_self" class=" ">Income Protection</a></li>
    <li class="SelfService-quoteItem"><a href="/secure/business-insurance-quote.html" target="_self" class=" ">Business Insurance</a></li>
</ul>

第二个(似乎是你想要"点击"的那个)是(来自@Bond的帖子):

<a class="sg-Btn sg-Btn--primary" href="/secure/comprehensive-car-insurance-get-a-quote.html">
    <span>Get a quote</span>
</a>

直接导航到你想去的页面,而不是点击主页上的任何元素。

对于这个问题,您甚至可以构建自己的表单,然后自己将数据发布到服务器。这只需要加载一个页面:结果页面。

最新更新