单击IE按钮,其源代码仅显示class和href

时间:2015-08-07 11:04:47

标签: vba

我已经设法在VBA中编写正确的代码来打开一个特定的网站。我现在想要编写正确的代码,以便点击该网站上的特定按钮。

我真的很难粘贴元素的代码,这是我希望我的VBA代码点击的按钮。但它是网站上的最后一个"Get a quote"按钮,它位于以下文字的下方:_“你的手很好”

问题的另一部分是此页面上还有另一个类似的按钮,其中包含以下源代码:

</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代码,那将非常有用。

2 个答案:

答案 0 :(得分:3)

您想要点击的按钮实际上并不是一个按钮。它只是一个伪装成按钮的链接(<a>)。

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

因此,没有必要经历&#34;点击&#34;它。只需导航到网址:

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

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

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

答案 1 :(得分:0)

@Bond是对的。没有&#34;得到报价&#34;元素真的是一个按钮(投票他的答案,而不是我的)。第一个产生如下链接的下拉框:

<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>

第二个(看起来是你想要的那个&#34;点击&#34;是(来自@ Bond&#39;帖子):

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

只需导航到您想要访问的页面,而不是单击主页上的任何元素。

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