Я получаю элемент, который не виден каждый раз, когда я запускаю свой скрипт.Не могли бы вы помочь мне, что именно я делаю не так?Я пытаюсь, но не получаю правильного решения.Я новичок в Selenium.Это мой код:
public void Click_Smart_Cart_Button() throws IOException, FilloException, InterruptedException
{
System.out.println(".....Click operation on Add_Smart_Cart_Device button......");
WebElement w1=driver.findElement(By.xpath(rx.readdatafromexcel("sheet1", 1,1)));
for(int i=0;i<=1;i++)
{
mod.click(w1);
System.out.println(" ");
System.out.println("....Button is clicked Successfully....");
System.out.println(" ");
// Операция для извлечения данных из листа Excel "TestData"
Fillo fillo= new Fillo();
Connection con=fillo.getConnection(Filepath);
String query = "Select SmartCartDeviceID, SmartCartDeviceName from Sheet1";//the parameters name and column name in excel sheet must be same.Eg "username"
Recordset results= con.executeQuery(query);
while(results.next()){
// Нажмите на текстовое поле идентификатора устройства и отправьте данные с листа
System.out.println("....Click operation on Smart Card Device id text box....... ");
System.out.println(" ");
WebElement w2=driver.findElement(By.xpath(rx.readdatafromexcel("sheet1", 2,1)));
mod.click(w2);
System.out.println("......Smart card device id box is clicked Sucessfully.....");
System.out.println(" ");
System.out.println("....Checking whther the id box field is empty or not...");
System.out.println(" ");
if(w2 != null)
{
w2.clear();
}
w2.sendKeys(results.getField("SmartCartDeviceID"));
Thread.sleep(2000);
System.out.print("Device id is "+results.getField("SmartCartDeviceID") +" ");
System.out.println(" ");
System.out.println("......Device id is sent succefully from the excel sheet.....");
System.out.println(" ");
// Нажмите на текстовое поле «Имя устройства» и отправьте данные с листа
System.out.println(".....Click operation on Smart Card Device Name Text Box...");
System.out.println(" ");
WebElement w4=driver.findElement(By.xpath(rx.readdatafromexcel("sheet1", 3,1)));
mod.click(w4);
System.out.println("......Smart Cart Device id box is clicked Successfully....");
System.out.println(" ");
System.out.println("....Checking whther the Device name box field is empty or not.....");
System.out.println(" ");
if(w4 !=null)
{
w4.clear();
}
w4.sendKeys(results.getField("SmartCartDeviceName"));
Thread.sleep(2000);
System.out.println(" Device Name is "+results.getField("SmartCartDeviceName"));
System.out.println(" ");
System.out.println("....Device name is sent successfully from the excel sheet.....");
System.out.println(" ");
// Нажмите кнопку «Сохранить» после отправки значений в соответствующие текстовые поля
System.out.println("...Click on Save button....");
WebElement w5=driver.findElement(By.xpath(rx.readdatafromexcel("sheet1",4,1)));
mod.click(w5);
Thread.sleep(2000);
System.out.println(" ");
System.out.println("......Save button is clicked successfully.....");
// Всплывающее окно подтверждения подтверждения
System.out.println(" ");
System.out.println(".....After click on save confimation window will appear....");
System.out.println(" ");
WebDriverWait wait=new WebDriverWait(driver,30);
wait.until(ExpectedConditions.elementToBeClickable(By.xpath(rx.readdatafromexcel("sheet1",5,1))));
System.out.println("....Wait for element to be clickable.....");
WebElement w6=driver.findElement(By.xpath(rx.readdatafromexcel("sheet1", 5,1)));
mod.click(w6);
Thread.sleep(5000);
System.out.println(" ");
System.out.println("....Successfully clicked on confirmation ok.....");
System.out.println(" ");
System.out.println(".....Successfully completed data retrievation from excel sheet.....");
System.out.println(" ");
}