[英]Using VBA to Hover and click on hidden elements with seleniumBasic
祝大家節日快樂,我已經在這個平台上關注了這個問題的幾個解決方案,尤其是使用 SeleniumBasic 為 vba 選擇隱藏菜單項時遇到問題
我能夠通過我正在嘗試自動化的網站的菜單 hover,但我無法單擊表格行(索賠提交),這是表格/表格可見時的第二個選項。 我最初的目標是 hover 頁面的可見菜單以顯示下拉菜單,我通過循環實現了這一點,現在當(聲明)菜單可見時,我需要單擊該表的第二個選項(聲明提交)。 按照Trouble selection a hidden menu item using SeleniumBasic for vba 的指示,我嘗試使用 xpath 來引用該元素,但它返回運行時錯誤“7”:NoSuchElementError Element not found for XPath=//a[.//span [包含(.,'索賠提交')]]
下面是使用的代碼
Private WB As Selenium.WebDriver
Sub Test()
Set WB = New Selenium.ChromeDriver
WB.Start
WB.Get "https://health.axamansard.com/axamansardProviderlogin/Index.aspx"
Dim Menu As WebElement
Dim Menus As WebElements
Dim MenuSubmission As WebElement
WB.FindElementByName("txtUname").SendKeys "Almadina"
WB.FindElementByName("txtPass").SendKeys "Nhisdesk@1234"
WB.FindElementByName("btnSubmit").Click
Set Menus = WB.FindElementsByClass("a")
For Each Menu In Menus
If Menu.Text = "Claims" Then
WB.Mouse.MoveTo Menu
Set MenuSubmission = WB.FindElementByXPath("//a[.//span[contains(.,'Claims Submission')]]")
MenuSubmission.Click
End If
Next
End sub
這是網頁腳本
<table class="menu" id="Claims" width="150px" bgcolor="white" style="visibility: hidden;">
<tbody><tr height="19px">
<td class="menu"><a class="a"
href="../Forms/ClaimsBatch.aspx">Claims Batch</a></td>
</tr>
<tr height="19px">
<td class="menu"><a class="a"
href="../Forms/ClaimSubmission.aspx">Claims Submission</a></td>
</tr>
<tr height="19px">
<td class="menu"><a class="a"
href="../Forms/ClaimSubmissionList.aspx">Claims Submission List</a></td>
</tr>
<tr height="19px">
<td class="menu"><a class="a"
href="../Forms/ClaimsUpload.aspx">Claims Upload</a></td>
</tr>
<tr height="19px">
<td class="menu"><a class="a"
href="../Forms/Calimreviewlist.aspx">Claims Status</a></td>
</tr>
<tr height="19px">
<td class="menu"><a class="a"
href="../Forms/ProviderClaimsBatchDetails.aspx">Provider Claims Batch Details/Claim Credit Note Details</a></td>
</tr>
</tbody></table>
希望我能得到一些幫助
鏈接聲明提交的xpath似乎有點偏離。 您可以使用以下任一定位器策略:
FindElementByXPath :
WB.FindElementByXPath("//table[@id='Claims']//td/a[.='Claims Submission']").Click
FindElementByXPath相對於Claims :
WB.FindElementByXPath("//a[.='Claims']//following::table[1]//td/a[.='Claims Submission']").Click
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.