Невозможно ввести строку в текстовое поле. Он просто открывает браузер
Я хочу открыть сайт www.flock.co и ввести адрес электронной почты в текстовое поле. Однако программа только открывает сайт и не вводит адрес электронной почты в поле.
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class FindByClassName {
public static void main(String[] args) throws Exception {
System.setProperty("webdriver.gecko.driver", "C:\\Automation\\geckodriver-v0.15.0-win64\\geckodriver.exe");
WebDriver driver = new FirefoxDriver();
driver.manage().window().maximize();
driver.get("https://flock.co/");
driver.findElement(By.className("_g-s-wrap")).sendKeys("farzan.s@flock.co");
}
}
4 ответа
Решение
_g-s-wrap
это класс контейнера, который включает в себя больше функций (например, кнопка "Начало работы"). использование cssSelector
найти <input>
текстовое окно
driver.findElement(By.cssSelector("[type='email']")).sendKeys("farzan.s@flock.co");
Извините, я вставил это неправильно, пожалуйста, попробуйте это
driver.findElement(By.xpath="//*[@id="main-area"]/div[3]/div[2]/form/div/div[1]/input").sendkeys("example@example.com");
Есть много способов, которыми вы можете ввести электронное письмо в текстовое поле.
- используя идентификатор
- используя имя
- XPath
- используя селектор CSS
Есть и другие способы, но это очень надежные и часто используемые методы.
Синтаксис для методов:
driver.findElement(By.xpath(".//*[@id='main-area']/div[2]/div[2]/form/div/div[1]/input")).sendkeys("abc@gmail.com");
driver.findElement(By.id("give the id of the editbox by inspecting element")).sendkeys("abc@gmail.com");
driver.findElement(By.name("give the name of the editbox by inspecting element")).sendkeys("abc@gmail.com");
Пожалуйста, используйте следующий код:-
WebElement ele1 = driver.findElement(By.xpath("//input[@type='email']"));
ele1.sendKeys("farzan.s@flock.co");