如何使用Selenium和VB.Net单击元素

问题描述 投票:0回答:1

元素的HTML:

<div _ngcontent-nxg-c15="" class="box-shadow"><!----><a _ngcontent-nxg-c15="" class="clearfix con-card-voucher text-center ng-star-inserted" style="background-image: url(&quot;https://api.duniagames.co.id/api/product/upload/image/9231439531578882989.jpg&quot;);" href="/top-up/item/freefire"><!----><img _ngcontent-nxg-c15="" alt="Item Logo" class="icon-image style2" onerror="this.onerror=null;this.src='./assets/images/primary-logo.jpg';" src="https://api.duniagames.co.id/api/product/upload/image/13838880871566571420.jpg"><div _ngcontent-nxg-c15="" class="right style2"><h5 _ngcontent-nxg-c15="" class="title"><b _ngcontent-nxg-c15="">FreeFire</b></h5></div></a><!----></div>

我以前使用的编码是这样,但是失败了

Driver.FindElement(By.LinkText("FreeFire")).Click()

如何正确编码我使用VB.Net

vb.net selenium selenium-webdriver xpath css-selectors
1个回答
0
投票

所需的元素是Angular元素,您需要诱发一些wait,并且可以使用以下Locator Strategies之一:

  • 使用FindElementByCss

    Driver.wait 3000 
    Driver.FindElementByCss("div.box-shadow a[href='/top-up/item/freefire'] h5.title>b").Click
    
  • 使用FindElementByXPath

    Driver.wait 3000 
    Driver.FindElementByXPath("//h5[@class='title']/b[text()='FreeFire']").Click
    

参考

您可以在以下位置找到相关的讨论:

© www.soinside.com 2019 - 2024. All rights reserved.