我想点击的元素的屏幕截图:
我自动化我的网站(自动化新手)。一旦我登录我进入另一个页面,其中selenium web驱动程序无法找到任何元素(我尝试了所有可能性甚至sso相关)。
我找到的唯一解决方案就是使用标签并输入。
因此,当我进入该页面时,我需要点击9次" TAB"键盘上的键然后输入,以便我的登录验证。因为我没有使用任何元素来执行选项卡并输入操作。有没有办法,一旦我到达该页面,网络驱动程序开始按" TAB"键9次然后"输入" 10次。
请帮助我一个星期以来一直在研究这个问题但没有得到 任何地方。
optimist_creeper-main class:
package Modules;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.Test;
import Modules.HomePage;
public class MainClass {
String appUrl = "als-stg-1.mtvn.ad.viacom.com/webqa/";
@Test public void MainTest() {
System.setProperty("webdriver.gecko.driver", "C:\\Shayni Coding\\Automation\\Gecko\\geckodriver.exe");
WebDriver driver = new FirefoxDriver();
driver.get(appUrl);
HomePage home = new HomePage();
home.HomePageTest(driver);
}
}
主页课程:
public class HomePage {
@BeforeClass public void beforeClass() {
System.out.println("before class");
}
public void HomePageTest(WebDriver driver) {
driver.manage().window().maximize();
WebElement email = driver.findElement(By.id("cred_userid_inputtext"));
email.sendKeys("shayni@outlook.com");
WebElement pass = driiver.findElement(By.id("cred_password_inputtext"));
pass.sendKeys(Keys.ENTER);
pass.click();
String expectedTitle = "VMS Web";
String actualTitle = driver.getTitle();
Assert.assertEquals(expectedTitle,actualTitle);
}
}
感谢。
答案 0 :(得分:0)
只需获取一个随机对象,如body标签,然后使用它来发送按键。
e.g。
WebElement dummyElement = driver.findElement(By.xpath("/html/body"));
for (int i = 0; i < 9; ++i) {
dummyElement.sendKeys(keys.TAB);
}
dummyElement.sendKeys(keys.ENTER);
上面的代码找到了body并将其设置为元素。然后按Tab键9次,然后按下回车键。这就是你要求的。希望有所帮助。