我正在嘗試訪問網頁上的表格,并在表格內嘗試單擊該單元格。
我試圖到達的單元格有一個 td id="flowTile_6"。在下面突出顯示。
我嘗試了各種方法
如
ch.FindElementByXPath("//table[@id="mainFlow"]/tbody/tr[7]/td[15]").Click
這會出錯。
并試圖在 a for each 中回圈以達到它,但我沒有成功。
Option Explicit
Private ch As Selenium.ChromeDriver
Sub test()
Dim FindBy As New Selenium.By
Dim ResultSections As Selenium.WebElements
Dim ResultSection As Selenium.WebElement
Dim TableByTag As Selenium.WebElement
Dim tr, c, r, td, li, cc, t
Set ch = New Selenium.ChromeDriver
ch.Start baseUrl:=""
ch.Get "/"
' ch.FindElementById("flowTile_6").Click
'Set TableByTag = ch.FindElementByTag("table")
'ch.FindElementByXPath("//table[@id="mainFlow"/tbody/tr[7]/td[15]").Click
For Each li In ch.FindElementById("mainFlow")
cc = 1
For Each t In li.FindElementsByTag("li")
ch.FindElementById("flowTile_6").Click
cc = cc 1
Next t
Next li
End Sub
html
<div class="background">
<div class="holder">
<table class="flow" id="mainFlow" style="display: table;">
<tbody>
<tr class="collapsible" id="flowHeader1_text" isasection="true" onclick="doExpandCollapse(this)">
?<td colspan="25">...</td>
</tr>
<tr id="flowHeader1_underline">
<td colspan="25">
<div class="flowHeaderUnderline"></div>
</td>
</tr>
<tr id="flowHeader1_placeholder" class="sectionAnimationPlaceHolder">
<td colspan="25"></td>
</tr>
<tr id="row1">...</tr> == $0
<tr id="row2" class="narrowSpacer">...</tr>
?<tr id="row3" class="narrowSpacer">...</tr>
<<tr id="row4">
<td class="a Em"X/td>
<td class="b Em"x/td>
<td class="a Em"></td>
<td class="d Em"x/td>
?<td id="flowTile_4" class="e item enabled hasIcon" role="link" aria-labelledby="tileDescription_4" havebox="true" formid="W4021B" tiletext="Supply/Demand Inquiry" appid="P4021" version="PSA0001" onclick
script:runE1App (P4021', 'W4021B', 'PSA0001')" onmouseover="javascrpt: startHoverTimer(this);" onmouseout="javascript:startTimerToMaybe End HoverMode (this);">...</td>
<td class="a Em"X</td>
<td class="b Em"X/td>
<td class="a Em"X/td>
<td class="d Em"x/td>
?<td id="flowTile_5" class="e item enabled hasIcon" role="link" aria-labelledby="tileDescription_5" havebox="true" formid="W41202A" tiletext="Item Availability" appid="P41202" version="PSA0001" onclick="
ript:runElApp('P41202', 'W41202A', 'PSA0001')" onmouseover="javascrpt:startHoverTimer(this);" onmouseout="javascript:startTimerToMaybe EndHoverMode(this);">.</td>
<td class="a Em"X/td>
<td class="b Em"></td>
<td class="a Em">/td>
<td class="d Em"X/td>
**<<td id="flowTile_6" class="e item enabled hasIcon" role="link" aria-labelledby="tileDescription_6" havebox="true" formid="W41016" tiletext="Item Master Inquiry" appid="P4101" version="PSA0001" onclick="
ript:runE1App('P4101', 'W4101E','PSA0001')" onmouseover="javascrpt:startHoverTimer(this);" onmouseout="javascript:startTimerToMaybeEndHoverMode (this);">
<div class="relativeWrapper">
<img id="flowTileIconImg_6" size="medium" src="/ide/share/images/ideicons/supply chain mntn medium.png" autoreplace="true">**
<div>
<div class="wlTileDesciption" id="tileDescription_6">Item Master Inquiry</div> == $0
</div>
</div>
</td>
<td class="a Em"X/td>
<td class="b Em"></td>
<td class="a Em"X/td>
<td class="d Em"x/td>
><td id="flowTile_7" class="e item enabled hasIcon" role="link" aria-labelledby="tileDescription_7" havebox="true" formid="W302016" tiletext="Single Level Where Used" appid="P30201" version="PSA0001" onclick=
"javascript:runE1App ("P30201', 'W302013', PSA0001')" onmouseover="javascrpt:startHoverTimer(this);" onmouseout="javascript:startTimerToMaybe EndHoverMode(this);">.</td>
<td class="a Em"x/td>
<td class="b Em"></td>
<td class="a Em"x/td>
<td class="d Em"X/td>
<td class="e Em"X/td>
</tr>
><tr id="rows" class="narrowSpacer">...</tr>
><tr id="row6" class="narrowSpacer">.</tr>
</tbody>
</table
</div>
遠。
這就是我想要在桌子上得到的東西
<<td id="flowTile_6" class="e item enabled hasIcon" role="link" aria-labelledby="tileDescription_6" havebox="true" formid="W41016" tiletext="Item Master Inquiry" appid="P4101" version="PSA0001" onclick="
ript:runE1App('P4101', 'W4101E','PSA0001')" onmouseover="javascrpt:startHoverTimer(this);" onmouseout="javascript:startTimerToMaybeEndHoverMode (this);">
<div class="relativeWrapper">
<img id="flowTileIconImg_6" size="medium" src="/ide/share/images/ideicons/supply chain mntn medium.png" autoreplace="true">
uj5u.com熱心網友回復:
它嵌套在兩個 iframe 中。
能夠通過以下方式解決:
With ch
.SwitchToFrame .FindElementById("e1menuAppIframe", timeout:=10000)
.SwitchToFrame .FindElementById("wcFrame0", timeout:=10000)
Set ResultSections = .FindElementsByClass("flow")
For Each ResultSection In ResultSections
.FindElementById("flowTile_6").Click
Next ResultSection
End With
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/342824.html
