Selenium:无法在 https://www.phptravels.net/admin 中输入用户名

问题描述

我尝试在 https://www.phptravels.net/admin 中练习 selenium 自动化,但无法输入用户名

private By username = By.xpath("//input[@type='text'][@name='email']");

Actions inputAct = new Actions(mngr.getDriver());
inputAct.click().sendKeys("admin@PHPtravels.com").perform();         

mngr.getDriver().findElement(page.getUsername()).sendKeys("admin@PHPtravels.com");

我在开发者工具中搜索了 xpath ahs 的唯一元素。为什么它不能输入用户名。谢谢。

解决方法

这对我有用:

    RemoteWebDriver driver = new FirefoxDriver();
    driver.get("https://www.phptravels.net/admin");

    WebElement emailInput = driver.findElement(new By.ByXPath("//input[@type='text'][@name='email']"));

    emailInput.sendKeys("TEST TEST TEST");

    driver.close();
,

你需要绕过硒的检测方法。

ChromeOptions options = new ChromeOptions();
IWebDriver driver;
options.AddArguments("--disable-notifications");
options.AddArguments("--no-zygote");
options.AddArguments("--disable-accelerated-2d-canvas");
options.AddArguments("--disable-setuid-sandbox");
options.AddArguments("--no-first-run");
options.AddArguments("--disable-2d-canvas-clip-aa");
options.AddArgument($"--user-agent={UA}");
options.AddArguments("start-maximized");
options.AddArguments("--blink-settings=imagesEnabled=false");
options.AddUserProfilePreference("profile.default_content_setting_values.css",2);
options.AddArguments("--disable-gpu");
options.AddArgument("ignore-certificate-errors");
options.AddExcludedArguments(new List<string>() { "enable-automation" });
options.AddArguments("--disable-blink-features=AutomationControlled");
IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
string title = (string)js.ExecuteScript("Object.defineProperty(navigator,'webdriver',{get: () => false})");
driver.Navigate().GoToUrl("https://www.phptravels.net/admin");
new WebDriverWait(driver,TimeSpan.FromSeconds(5)).Until(ExpectedConditions.ElementToBeClickable(By.XPath("/html/body/div[2]/form[1]/div[1]/label[1]/input"))).SendKeys("jdhfshshdf");