Die HTML ist wie folgt zu wählen:Wie Python und Selen verwenden, um eine ExtJS Taste
<div id="button-1600" class="x-btn x-box-item x-toolbar-item x-btn- default-small x-noicon x-btn-noicon x-btn-default-small-noicon" style="border-width: 1px; left: 109px; margin: 0px; top: 0px;">
<em id="button-1600-btnWrap">
<button id="button-1600-btnEl" class="x-btn-center" autocomplete="off" role="button" hidefocus="true" type="button" style="height: 14px;">
<span id="button-1600-btnInnerEl" class="x-btn-inner" style="">QA View</span>
<span id="button-1600-btnIconEl" class="x-btn-icon "></span>
</button>
Ich brauche den Button "QA View" zu wählen. Da unsere Software extJS verwendet, ändert sich die ID # (1600) jedes Mal, wenn die Seite geladen wird. Ich versuchte, die langen XPath wie folgt:
DP_DEALER_SEARCH_QA_VIEW = 'html/body/div[1]/div[3]/div/div/div[2]/div/div/div/div/div/div[2]/em/button'
def click_dealerSearchQAView(self):
webQABtn = WebDriverWait(self.driver, 10).until(
ec.element_to_be_clickable((By.XPATH, DP_DEALER_SEARCH_QA_VIEW)))
webQABtn.click()
Ich weiß, es gibt Möglichkeiten, dieses Element zu finden, die kürzere XPath-Methode und Dinge wie [Enthält], aber ich habe nicht in der Lage gewesen, es herauszufinden . Jede Hilfe wird sehr geschätzt.
ich in der Lage war es durch den Text auszuwählen, was sehr nützlich ist. Ich werde wahrscheinlich den Eltern-Check auf lange Sicht integrieren. Es lässt mich deine Antwort noch nicht markieren, aber es hat funktioniert. Vielen Dank! –