0

J'ai écrit un script simple de pilote Web Selenium en Java pour sélectionner et cliquer sur un bouton radio, mais je suis incapable de sélectionner et de cliquer sur le second bouton radio 'ONE WAY dE VOL' à la page Web: http://www.lot.com/pl/enComment sélectionner et cliquer sur un bouton radio dans le pilote Web Selenium avec Java

Voici mon code:

WebDriver driver = new FirefoxDriver(); 
String web = "http://www.lot.com/pl/en"; 
driver.get(web); 
driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS); 
WebElement element; 

element = driver.findElement(By.id("select2-departureAirport-container")); 
element.click(); 
element.sendKeys("WAW"); 
element.sendKeys(Keys.ENTER); 

/* RADIO BUTTON ERROR */ 
element = driver.findElement(By.cssSelector("input[value='SINGLE']")); 
elementRadio.click(); 

Et voici l'erreur:

Exception in thread "main" org.openqa.selenium.ElementNotInteractableException:

Et c'est le fragment de HTML o n la page Web http://www.lot.com/pl/en:

<div class="b-row"> 
       <div class="b-column twelve"> 
        <fieldset class="flight-type" role="radiogroup" aria-required="true"> 
         <legend class="acc-hide">Choose flight type</legend> 
         <label class="booker-label radio-label"> 
          <input data-f-focus="radio" id="ticketTypeReturn" type="radio" name="ticketType" class="required" value="RETURN" checked="checked" /> 

          <span class="ci" aria-hidden="true"></span> 
          <span class="ci-label">Round-trip flight</span> 
         </label> 
         <label class="booker-label radio-label g-no-margin"> 

          <input data-f-focus="radio" type="radio" name="ticketType" class="required" value="SINGLE" /> 
          <span class="ci cis" aria-hidden="true"></span> 
          <span class="ci-label">One-way flight</span> 
         </label> 
         <p id="ticketTypeReturn--required" class="b-v-error" role="alert">Choose flight type</p> 
        </fieldset> 

       </div> 
      </div> 

Je suis incapable de comprendre pourquoi il est de lancer une exception.

Répondre

0

Avez-vous essayé avec XPath?

elementRadio = driver.findElement(By.xpath("//*[@id="flightBookingForm"]/div[2]/div[1]/div/fieldset/label[2]/span[2]")); 
elementRadio.click(); 
+0

la même erreur Exception dans le fil "principal" org.openqa.selenium.ElementNotInteractableException – mvillegas

+0

@mvillegas - Je viens de mettre à jour ma réponse. Essayez maintenant et permet de voir si cela fonctionne. – Kapil

+0

Super, ça marche bien. Merci beaucoup – mvillegas

0

utilisation ci-dessous le code: -

WebDriver driver = new FirefoxDriver(); 
String web = "http://www.lot.com/pl/en"; 
driver.get(web); 
driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS); 
WebElement element; 

element = driver.findElement(By.id("select2-departureAirport-container")); 
element.click(); 
element.sendKeys("WAW"); 
element.sendKeys(Keys.ENTER); 

/* RADIO BUTTON ERROR */ 
element = driver.findElement(By.cssSelector("input[value='SINGLE']")); 
JavascriptExecutor executor = (JavascriptExecutor)driver; 
executor.executeScript("arguments[0].click();", element); 
+0

Merci, fonctionne bien – mvillegas

+0

Je gald ça marche pour vous. :) –

+0

Mais je ne comprends pas pourquoi mon code ne fonctionne pas bien et j'ai besoin d'un javascriptexecutor – mvillegas