Селен: Элемент не виден Исключение C # - PullRequest
0 голосов
/ 26 августа 2018

Я пытаюсь войти в систему "https://www.quora.com/", на нем есть экран входа в систему, где я указываю свое имя пользователя и пароль, он всегда выдает Элемент не виден, я прошел все остальные ответы на SO, ни один из них не работает.

Я пытался щелкнуть элемент с помощью Javascript и ScrollintoView, но безрезультатно.

IWebElement uname = driver.FindElement(By.Name("email"));

((IJavaScriptExecutor)driver).ExecuteScript("arguments[0].click();", uname);
js.ExecuteScript("arguments[0].scrollIntoView()", uname);
js.ExecuteScript("arguments[0].click()", uname);
uname.SendKeys("myusername@uname.com");

Ни один из них не работает.

Ответы [ 3 ]

0 голосов
/ 27 августа 2018

Чтобы войти в https://www.quora.com/, вам необходимо отправить последовательность символов в поля Email и Пароль , и вы можете использовать следующее решение:

  • Электронная почта поле:

    driver.FindElement(By.CssSelector("input.text.header_login_text_box.ignore_interaction[name='email']")).SendKeys("myusername@uname.com");
    
  • Пароль Поле:

    driver.FindElement(By.CssSelector("input.text.header_login_text_box.ignore_interaction[name='password']")).SendKeys("PankajKushwaha");
    
0 голосов
/ 27 августа 2018

Найдите код C # для входа в систему следующим образом

[TestMethod]
    public void QuoraLogin()
    {
        ChromeDriver webDriver = new ChromeDriver();
        WebDriverWait wait = new WebDriverWait(webDriver, new TimeSpan(0, 0, 0, 30));
        webDriver.Navigate().GoToUrl("https://www.quora.com/");
        IWebElement email= wait.Until(ExpectedConditions.ElementToBeClickable(By.XPath("//div[@class='login']//input[@name='email']")));
        email.SendKeys("ABC@yahoo.com");
        IWebElement password = wait.Until(ExpectedConditions.ElementToBeClickable(By.XPath("//div[@class='login']//input[@name='password']")));
        password.SendKeys("123");
        webDriver.FindElement(By.XPath("//div[@class='login']//input[@value='Login']")).Click();
    }
0 голосов
/ 26 августа 2018

На странице есть еще одна форма входа (скрытая) с элементом <input name="email">.Вы должны обращаться с видимым.Попробуйте использовать приведенный ниже код для поиска необходимого поля ввода:

IWebElement uname = driver.FindElement(By.Xpath("//div[@class='login']//input[@name='email']"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...