Как обрабатывать окно входа в систему селеном для https://www.flipkart.com/ - PullRequest
0 голосов
/ 24 ноября 2018

При открытии https://www.flipkart.com/ открывается окно для входа в систему.Как обрабатывать это окно в селене?

System.setProperty("webdriver.gecko.driver", "F:\\Software_Sel\\GekoDriver\\geckodriver-v0.16.1-win64\\geckodriver.exe");
WebDriver wd = new FirefoxDriver();
wd.get("https://www.flipkart.com/")                     
WebElement e1= wd.findElement(By.className("_2AkmmA _29YdH8")); 
e1.click();

Я также пробовал iframe.Но не могу справиться. Пожалуйста, помогите.

Ответы [ 2 ]

0 голосов
/ 26 ноября 2018

Окно входа в систему и элементы внутри него являются частью одного и того же HTML DOM , поэтому вам нужно активировать WebDriverWait , чтобы элемент был кликабельным , и вы можетеиспользуйте следующее решение:

  • Кодовый блок:

    import org.openqa.selenium.By;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.firefox.FirefoxDriver;
    import org.openqa.selenium.support.ui.ExpectedConditions;
    import org.openqa.selenium.support.ui.WebDriverWait;
    
    public class Login_Window_Flipkart {
    
        public static void main(String[] args) {
    
            System.setProperty("webdriver.gecko.driver", "C:\\Utility\\BrowserDrivers\\\\geckodriver.exe");
            WebDriver wd = new FirefoxDriver();
            wd.get("https://www.flipkart.com/");                    
            new WebDriverWait(wd, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//span[contains(.,'Enter Email/Mobile number')]//preceding::input[1]"))).sendKeys("Abhijit@Datta.com");
            wd.findElement(By.xpath("//span[contains(.,'Enter Password')]//preceding::input[1]")).sendKeys("Abhijit@Datta.com");
        }
    }
    

Снимок браузера:

flipkart_login_window

0 голосов
/ 25 ноября 2018

Имя класса, которое вы используете _2AkmmA _29YdH8, содержит два класса.Локаторы ClassName работают только для одного имени класса. Вместо этого вам следует использовать css ._2AkmmA._29YdH8

WebElement e1= 

wd.findElement (By.cssSelector ("._ 2AkmmA._29YdH8"))

Надеюсь, это поможет вам

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...