Alles, ich brauche ein wenig Hilfe mit Selen wartet. Ich kann nicht herausfinden, wie ich darauf warten kann, dass ein Element bereit ist.Selen warten auf Element klickbar python
Das Element, das ich mich finden kann, zu warten, bin benötigen und klicken Sie unten mein Skript über den Code ...
CreateJob = driver.find_element_by_xpath(".//*[@id='line']/div[1]/a")
oder
CreateJob = driver.find_element_by_partial_link_text("Create Activity")
ich brauche für diese warten Element auf der Seite und klickbar, bevor ich versuche, auf das Element zu klicken.
Ich kann den Befehl sleep
verwenden, aber ich muss 5 Sekunden oder mehr warten und es scheint unzuverlässig und Fehler aus 1 von 8 mal oder so.
Ich kann nicht scheinen, die korrekte Syntax zu finden, um zu verwenden.
der HTML-Code dafür ist unten.
<document>
<html manifest="https://tddf/index.php?m=manifest&a=index">
<head>
<body class="my-own-class mozilla mozilla48 mq1280 lt1440 lt1680 lt1920 themered" touch-device="not">
<noscript style="text-align: center; display: block;">Please enable JavaScript in your browser settings.</noscript>
<div id="wait" style="display: none;">
<div id="processing" class="hidden" style="display: none;"/>
<div id="loading" class="hidden" style="display: none;"/>
<div id="loadingPartsCatalog" class="hidden"/>
<div id="panel">
<div id="top-toolbar" class="hidden" style="display: block;">
<div id="commands-line" class="hidden" style="display: block;">
<div id="line">
<div class="action-link">
<a class="tap-active" href="#m=activity/a=set" action_link_label="create_activity" component_gui="action" component_type="action">Create Activity</a>
</div>
<div class="action-link">
<div class="action-link">
<div class="action-link">
</div>
<div id="commands-more" style="display: none;">
<div id="commands-list" class="hidden">
</div>
<div id="provider-search-bar" class="hidden center"
Das hat funktioniert. Irgendeine Idee, wie ich das anhand des Textes des Elements nutzen kann? – th2112
'Element = WebDriverWait (Treiber, 10) .until ( EC.element_zu_be_klickbar ((By.LINK_TEXT," Create Activity ")) )' .. –
@ th2112 Saurabh ist richtig, es gibt auch eine By.PARTIAL_LINK_TEXT. http://selenium-python.readthedocs.io/locating-elements.html – FamousJameous