Ошибка в выборе драйвера селена - PullRequest
0 голосов
/ 30 мая 2018

У меня есть код, который входит в портал с 4 различными учетными данными, первый не удается, а затем все делают все правильно.

На странице портала у меня есть имя с именем "cboLocales":

<form action="?action=envia" method="post" name="frmInventario">
    <tr class="texto"> 
      <td width="172" bgcolor="e6e6e6" align="center">Seleccione Locales</td>
      <td width="150" bgcolor="#E6E6E6" align="center">Seleccione Formato de local</td>
      <td width="157" bgcolor="#E6E6E6">Por grupo de Productos</td>
      <td width="126" bgcolor="#E6E6E6">Por grupo de categor&iacute;a</td>
      <td width="121" rowspan="2" valign="bottom">
	      <input name="Submit" type="submit" class="texto" value="Ir al Reporte &gt;&gt;" >
      </td>
    </tr>
    <tr class="txt8pt"> 
      <td align="center">
	   
          <select name="cboLocales" class="texto">
			<option value="">Seleccione</option>
			<!--<option value="1301a">Total país</option>-->y
            <option value="1302b">Solo Regi&oacute;n Metropolitana</option>
            <option value="1303c">Regiones</option>
			
			<option value="2015">Mall</option>
			
          </select>
      </td>
  </form>

И в моем коде для распознавания этого выбора у меня есть следующее:

driver.get(Config.urlStockSB);
Select select=new Select(driver.findElement(By.name("cboLocales")));
select.selectByValue(locales.get(i)); //locales desde arreglo en config WebElement btnSubmitStock = driver.findElement(By.name("Submit"));
btnSubmitStock.click();

Но, проходя через select, я получаю сообщение об ошибке, что я не нашел имя select "cboLocales", но это так!

Если первая учетная запись дает сбой, попробуйте изменить порядок ввода учетных данных, и даже в этом случае произойдет сбой, пожалуйста, помогите, я бы вас поблагодарил!

PD: Использование Opera и Netbeans.

1 Ответ

0 голосов
/ 31 мая 2018

нужно подождать, пока страница не загрузится полностью

import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;

WebDriverWait wait5s = new WebDriverWait(driver,5);

driver.get(Config.urlStockSB);
Select select=new Select(wait5s.until(ExpectedConditions.elementToBeClickable(By.name("cboLocales"))));
select.selectByValue(locales.get(i)); //locales desde arreglo en config WebElement btnSubmitStock = driver.findElement(By.name("Submit"));
btnSubmitStock.click();
...