0

Ich weiß, dass ähnliche Fragen über Element nicht klickbare Problem gestellt werden, aber für mich hat keine vorgeschlagene Lösung gearbeitet. Hauptsächlich verwende ich Chromedriver und manchmal Geckodriver, dies erscheint auf beiden.Python 3 und Selen, senden Button nicht anklickbar

Noch immer, Nachricht: Unbekannten Fehler: Element an einem Punkt nicht angeklickt ist (470, 1499)

selbst, wie Sie habe ich versucht, mit find_element.click() und auch mit Aktionsketten zu sehen.

In meinem Fall verwirrender ist, dass Teil mit ("M_1_anchor") übergeben und Teil mit ("submit") fehlschlagen, nicht anklickbar. Nur um eine weitere Verwirrung, die gleiche Funktion hat gut funktioniert, bis Mitte August 2017.

Meine Funktion ist hinzuzufügen:

from selenium.webdriver.support.wait import WebDriverWait 
from selenium.webdriver.support import expected_conditions 
from selenium.webdriver.common.by import By 
from selenium.webdriver.common.action_chains import ActionChains 

def select_and_click_edit_contact_details(self): 
    wait = WebDriverWait(self.driver, 10) 
    action = ActionChains(self.driver) 
    wait.until(expected_conditions.element_to_be_clickable((By.ID, "M_1_anchor"))) 
    self.driver.find_element_by_id("M_1_anchor").click() 

    action.move_to_element(self.driver.find_element_by_id("submit")).perform() 
    action.click(self.driver.find_element_by_id("submit")).perform() 
    #self.driver.find_element_by_id("submit").click() 

zugeben, dass ich die Submit-Button müssen optisch nicht sichtbar auf Seite und Benutzer ist nach unten scrollen, aber das sollte kein Grund zum Scheitern sein.

</select></div> 
      </div> 
     </div> 
    </div> 
    <div class="panel panel-default"> 
     <div class="panel-heading"> 
      <h4 class="panel-title"> 
       <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href="#report"> 
        Report 
       </a> 
      </h4> 
     </div> 
     <div id="report" class="panel-collapse collapse in"> 
      <div class="panel-body"> 
       <div class="row"> 
        <label class="col-xs-2 col-md-3 control-label"> 
         Image file of your logo 
        </label> 
        <div class="col-xs-10 col-md-9"> 
<img class="img img-responsive" src="data:image/jpg;base64,/9k=" width="100">      </div> 
       </div> 
        <div class="row" style="margin-top: 20px;"> 
         <label class="col-xs-2 col-md-3 control-label"> 
          Footer text on driver accounting 
         </label> 
         <div class="col-xs-10 col-md-9"> 
          <p class="form-control-static"> 
           20 
          </p> 
         </div> 
        </div> 
      </div> 
     </div> 
     </div> 
     <div class="panel panel-default"> 
      <div class="panel-heading"> 
       <h4 class="panel-title"> 
        <a class="accordion-toggle collapsed" data- 
     toggle="collapse" data-parent="#accordion" href="#cashbox"> 
         Cashbox 
        </a> 
       </h4> 
      </div> 
      <div id="cashbox" class="panel-collapse collapse"> 
       <div class="panel-body"> 
         <p>Currently there are no cashboxes defined!</p> 
       </div> 
      </div> 
     </div> 
    <div class="form-group"></div> 
    <div class="form-group"> 
     <label class="control-label col-md-3"> 
       <input type="submit" id="submit" value="Edit" class="btn btn-primary"> 
     </label> 
    </div> 
    </form></div> 
    <script type="text/javascript"> 
    $(function() { 
    $("#list option").attr('disabled', true); 
    $('.selectpicker').selectpicker(
           { 
            showContent: false 
           }); 
     }); 
    </script> 
    </div> 
        </div> 
       </div> 
      </div> 
    </div> 
    <div id="push"></div> 
</div> 
    <script src="/HaleWebApplication/bundles/DatatablesNewJs? 
    v=83AITBTc8vgdDH09rqjGm5-sSopLGkHfDID5YpRCCVs1"></script> 
<script src="/HaleWebApplication/bundles/TreeviewJs? 
v=p6JgEssUYL1w3zZdiBDt4Ul_VWhmdclj9e1PSoZpKWI1"></script> 
+0

Sind Sie sicher, dass der Button nach 'move_to_element (#submit)' sichtbar ist? –

+0

Ich bin mir nicht sicher (siehe beigefügten Screenshot). Es funktioniert auch nicht mit find_element_by_id oder xpath und es sollte sogar nicht sichtbar sein, dass es sich auf der Seite befindet. – domoni

+0

Kannst du den relevanten HTML hier einfügen? Sie haben einen Screenshot angehängt, aber wie verbinden wir Ihr Problem/Ihren Code damit? Haben Sie überprüft, ob das Senden nicht deaktiviert ist, wenn Sie darauf klicken möchten? –

Antwort

1

Also am Ende Lösung Chrome-Version von 61 auf 60 herunterstufen und ChromeDriver von 2,31 auf 2,33 aktualisieren. Es ist wichtig, Browser- und Webdriver-Versionen zu synchronisieren. Vielen Dank für die Antworten.

0

Als ich „expected_conditions.element_to_be_clickable“ statt „actionChains_move_to_element“ gesetzt und es unter FF Geckodriver laufen es funktionierte gut. Es ist also Chromedriver-Problem oder Chrome-Problem, aber ich weiß nicht genau, wo und was das verursacht. Wenn jemand mir helfen könnte, es zu identifizieren und einen Bug für Chromedriver zu öffnen, wäre ich sehr dankbar.

Verwandte Themen