我已经设法在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代码,那将非常有用。
答案 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>
只需导航到您想要访问的页面,而不是单击主页上的任何元素。
就此而言,您甚至可以构建自己的表单,然后自己将数据发布到服务器。这只需要您加载一个页面:结果页面。