Domanda

ho scritto il mio script per FF, ma sperava con poco lavoro avrebbero anche funzionare su altri browser ma sembra conducente IE ha problemi con i pulsanti?

Ho una semplice webelement.click () su un pulsante che non genera un errore, ma non fare clic sul pulsante. in FF la sua fine. Posso ottenere il testo, ottenere il valore quindi so la dichiarazione ritrovamento è ok semplicemente non clic su di esso.

pensieri o aiuto sarebbe grande

Solo facendo

WebElement element;
element = driver.findElement(By.id("pageheader_login"));
element.click();

HTML - Il controllo ha 3 pulsanti su di esso Sono interessato solo per ora con il login

<div id="_ctl0_pageheader_navcontainer">
  <div id="phwelcome">

    <br class="clear" />
  </div>
  <span id="navtext">

    <a id="_ctl0_pageheader_lnkRegister" class="logichref" 
       href="http://Register/1">Register Today</a>
    <label id="_ctl0_pageheader_lblRegisterBar" class="barhide">| </label>

    <a id="_ctl0_pageheader_customerconnection" class="logichref" 
       href="http://test.com" target="_blank">Help & Training</a>
    <label class="bar">| </label>
    <a class="logichref" href="http://test.aspx"
       onmouseover="window.status='';return(true);" 
       onmouseout="window.status='';return(false);"
       target="_blank">What's New</a> 
    <label class="bar">| </label>
    <a id="_ctl0_pageheader_login" class="lbOn loginModal" 
       href="http://test/loginlightbox.aspx">Login</a>
  </span>
</div>     
È stato utile?

Soluzione

Si è lo stesso problema, fare clic su non funziona con il mio IE 8. Ho trovato una soluzione in cui faccio un element.sendKeys ( "\ n") per eseguire il click (in fondo ho solo premere invio sul pulsante). Non molto pulita, ma funziona finché non viene risolto il bug!

Altri suggerimenti

ho quasi rinunciato a WebDriver come non ho potuto ottenere il metodo click su webelement alla funzione. Ma per qualche ragione ho cambiato il mio zoom IE dal 125% al ??100% e il clic lavorato. Non sono sicuro se questo è un problema noto con WebDriver ma mi fece quasi rottami tutto insieme fino a quando ho trovato una soluzione.

ho affrontato lo stesso problema con IE 8 dove il WebDriver era in grado di fare clic su qualsiasi a href = "" tag nella pagina HTML in prova

La soluzione fornita shessuky ha funzionato per me; Questo è l'impostazione ENTRAMBI e ignoreZoomSetting nativeEvents funzionalità come segue

  • caps.setCapability ( "ignoreZoomSetting", true);
  • caps.setCapability ( "nativeEvents", false);

Penso che si potrebbe essere necessario istanziare InternetExplorerDriver () utilizzando i org.openqa.selenium.Capabilities parametro nel modo seguente:

    DesiredCapabilities caps = DesiredCapabilities.internetExplorer();
    caps.setCapability("ignoreZoomSetting", true);

    // Setting attribute nativeEvents to false enable click button in IE
    caps.setCapability("nativeEvents",false);
    WebDriver driver = new  InternetExplorerDriver(caps);

Spero che questo può aiutare;

Secondo il codice HTML, il id è _ctl0_pageheader_login. Esso può essere generato in modo dinamico e può cambiare.

Si può provare a individuare By.linkText("Login") o By.className("loginModal")

Potrebbe essere qualcosa a che fare con la velocità del carico, prova ad aggiungere un ImplicitlyWait

selenio 2.0b3 IE WebDriver, Clicca non sparare

Se si sta eseguendo un test Selenium automatizzato in IE11 con la finestra del browser aperta su un monitor touch screen (ad esempio Windows 8 tocco laptop), provare a eseguire il test con la finestra del browser aperta in un non-touch screen.
Il metodo .Click originale () dovrebbe funzionare bene anche senza tutte le soluzioni alternative di codice.

Vedere la mia piena risposta sfondo https://stackoverflow.com/a/31397650/115704 su una simile domanda StackOverflow a selenio 2.0b3 IE WebDriver, non cliccare sparare .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top