gpt4 book ai didi

java - sendKeys() 方法未发送 key

转载 作者:行者123 更新时间:2023-11-30 02:36:30 26 4
gpt4 key购买 nike

下面提到的是我的代码,它不会将按键发送到文本框,但是当光标在文本框中不断闪烁时,它会找到正确的元素。

public class cl01 {
public static void main(String[] args) {
System.setProperty("webdriver.gecko.driver","C:\\Program Files\\Java\\geckodriver-v0.14.0-win32\\geckodriver.exe");
WebDriver driver = new FirefoxDriver();
driver.get("http://www.rediff.com/");
String P1 = driver.getWindowHandle();
System.out.println(P1);

Set<String> windows = driver.getWindowHandles();
Iterator<String> W = windows.iterator();

while(W.hasNext())
{
String C1 = W.next();
System.out.println(C1);
if(!P1.equalsIgnoreCase(C1))
{
driver.switchTo().window(C1).close();
}
}
driver.switchTo().window(P1);

System.out.println("web page opened");

//Browser's position is set
driver.manage().window().setPosition(new Point(30, 40));
int height = driver.manage().window().getSize().getHeight();
System.out.println( "height of the browser is " +height);

int width = driver.manage().window().getSize().getWidth();
System.out.println("width of the browser is " +width);

driver.manage().window().maximize();

driver.findElement(By.linkText("Create a Rediffmail account")).click();
System.out.println("sign up link opened");
driver.findElement(By.xpath(".//*[@id='wrapper']/table[2]/tbody/tr[3]/td[3]/input")).sendKeys("ABC");

最佳答案

代码对我来说看起来不错。也许加载速度很慢,您需要添加对第一个元素的等待。

在这种情况下,我会避免使用 XPath,尤其是当嵌套层太深并且您依赖于索引时。它使得定位器非常脆弱。我会使用如下所示的 CSS 选择器。

By.cssSelector("input[name^='name']")

我对此进行了测试,它对我有用。它基本上是在寻找名称以“name”开头的 INPUT 标记。该名称以看起来像自动生成的字符串结尾,但这部分在页面上是唯一的。

这里有一些学习 CSS 选择器的引用。 CSS 选择器非常强大,花时间学习它们是值得的。

CSS Selectors Reference

CSS Selectors Tips

关于java - sendKeys() 方法未发送 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42910786/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com