Я пишу сценарий Selenium для проверки количества строк на странице:
Строки находятся в iframe, поэтому я не мог не использовать / * [начальный-с (@id, 'someid'), чтобы найти количество элементов, так как веб-драйвер selenium не может найти элементы внутри iframe, используя id или относительный XPath. Работает только абсолютный xpath.
Мой абсолютный путь к моим строкам как таковой
Строка 1:
/html[1]/body[1]/form[1]/table[1]/tbody[1]/tr[1]/td[1]/table[1]/tbody[1]/tr[1]/td[1]/div[1]/table[1]/tbody[1]/tr[1]/td[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[2]/div[1]/table[1]/tbody[1]/tr[1]/td[1]/div[2]/div[1]/div[1]/table[1]/tbody[1]/tr[2]/td[1]/div[1]/table[1]/tbody[1]/tr[3]/td[1]
Строка 2:
/html[1]/body[1]/form[1]/table[1]/tbody[1]/tr[1]/td[1]/table[1]/tbody[1]/tr[1]/td[1]/div[1]/table[1]/tbody[1]/tr[1]/td[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[2]/div[1]/table[1]/tbody[1]/tr[1]/td[1]/div[2]/div[1]/div[1]/table[1]/tbody[1]/tr[2]/td[1]/div[1]/table[1]/tbody[1]/tr[5]/td[1]
Следовательно, как использовать, начинается с использования абсолютного xpath, который начинается со следующего:
/html[1]/body[1]/form[1]/table[1]/tbody[1]/tr[1]/td[1]/table[1]/tbody[1]/tr[1]/td[1]/div[1]/table[1]/tbody[1]/tr[1]/td[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[1]/div[2]/div[1]/table[1]/tbody[1]/tr[1]/td[1]/div[2]/div[1]/div[1]/table[1]/tbody[1]/tr[2]/td[1]/div[1]/table[1]/tbody[1]/tr[
HTML
<iframe id="MasterSplitter_mainContent_ASPxPageControlManageProgramme_ucEnrolment_Programme_Details_CBPnlDetail_ucFunding_GrantCalculator_pcGC_CIF-1" title="" src="../Funding/FundingGrantCalculator.aspx?SessionKey=k6ML680ffjM3LcWqMwUzNOe33dRU4xgBxVoW%2ftYHVWJs1Re6Yr4oTA%3d%3d"
scrolling="auto" frameborder="0" style="height: 100%; width: 100%;" xpath="1">
<tr ng-repeat-start="funding in data.fundings" ng-show="data.fundings.length > 0 && !ShowLoading" ng-class="GetFundingRowCSSClass(funding)" data-qo-theme="danger" data-nq-tooltip="" data-qo-placement="top-center" data-qs-title="" class="ng-scope AvailableFunding" style="">
<tr ng-repeat-start="funding in data.fundings" ng-show="data.fundings.length > 0 && !ShowLoading" ng-class="GetFundingRowCSSClass(funding)" data-qo-theme="danger" data-nq-tooltip="" data-qo-placement="top-center" data-qs-title="" class="ng-scope AvailableFunding" xpath="1">
</iframe>