gpt4 book ai didi

java - Selenium 点击浏览器的 url 而不是网站的搜索框

转载 作者:行者123 更新时间:2023-11-29 09:28:55 24 4
gpt4 key购买 nike

我正在尝试自动化 Amazon.in 的搜索框,当我尝试在那里输入一些字符串时,它指向浏览器的地址栏。我的代码也是如此。

注意 - 我已经尝试使用 firebug 和标签遍历来处理不同的 xpath。

另外请告诉我为什么我们必须始终使用带有操作的构建和执行方法?

public static void main(String args[])
{
WebDriver driver= new FirefoxDriver();
driver.get("http://amazon.in");
Actions action=new Actions(driver);
WebElement element= driver.findElement(By.xpath(".//*[@id='nav-link-yourAccount']/span[2]"));
action.moveToElement(element).build().perform();
WebElement search= driver.findElement(By.xpath(".//*[@id='twotabsearchtextbox']"));
action.keyDown(Keys.SHIFT).moveToElement(search).sendKeys("teststring").build().perform();
action.contextClick(search).build().perform();
}

最佳答案

    public static void main(String args[]) {
WebDriver driver = new FirefoxDriver();
driver.get("http://amazon.in");
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
Actions action = new Actions(driver);
WebElement search = driver.findElement(By.xpath(".//*[@id='twotabsearchtextbox']"));

//Search using actions by combining entering search string and then hit enter
action.click(search).sendKeys("Test").sendKeys(Keys.RETURN).build().perform();

// This also works where it does the same without actions class
search.sendKeys("test");
search.sendKeys(Keys.RETURN);
}

在您的代码中:

下面一行将 teststring 输入浏览器搜索而不是亚马逊搜索栏,因为您只是移动到该元素而不是单击它。 action.keyDown(Keys.SHIFT).moveToElement(search).sendKeys("teststring").build().perform();

这就像右键单击/上下文单击搜索栏action.contextClick(search).build().perform();


来自 API 文档:

build() Generates a composite action containing all actions so far, ready to be performed (and resets the internal builder state, so subsequent calls to build() will contain fresh sequences).

perform() A convenience method for performing the actions without calling build() first

请阅读以下链接以获得清晰的图片:
LinkOne
LinkTwo

关于java - Selenium 点击浏览器的 url 而不是网站的搜索框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31326191/

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