我正在自动化一个注册用户信息的网页,该页面需要在输入框中输入地址,然后谷歌地图会列出正确的地址。该页面需要在输入框中输入地址,然后谷歌地图会列出正确的地址。我必须选择谷歌地图的地址。如何在selenium中实现这个功能。这里是函数的图像。
这里是我的代码在Selenium - Java。
public void signup() throws InterruptedException {
driver.get("https://app.getjarvis.com.au/sign-up");
driver.manage().window().setSize(new Dimension(801, 721));
driver.findElement(By.id("addressInput")).click();
driver.findElement(By.id("addressInput")).click();
driver.findElement(By.id("addressInput")).sendKeys("Indian Drive, Keysborough VIC, Australia");
Thread.sleep(3000);
Select drpdwn = new Select(driver.findElement(By.id("addressInput")));
drpdwn.selectByVisibleText("Indian Drive, Keysborough VIC, Australia");
如果你知道在地址下拉的第一个选项是你想要的,你可以做这个后,你做发送键。
driver.findElements(By.cssSelector(".pac-item")).get(0).click();
我试了一些东西,是工作 只有当你给的文本是唯一的。
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.By;
import org.openqa.selenium.support.ui.Select;
import java.lang.*;
import org.openqa.selenium.WebElement;
import java.util.*;
class Main {
public static void main(String args[]) {
System.setProperty("webdriver.gecko.driver", "/home/avionerman/Documents/Java/geckodriver");
WebDriver driver = new FirefoxDriver();
driver.get("https://app.getjarvis.com.au/sign-up");
driver.manage().window().maximize();
driver.findElement(By.id("addressInput")).click();
driver.findElement(By.id("addressInput")).sendKeys("Indian Drive, Keysborough VIC, ");
driver.findElement(By.id("addressInput")).click();
try {
Thread.sleep(3000);
driver.findElement(By.id("addressInput")).sendKeys(Keys.ARROW_DOWN);
} catch (InterruptedException e) {
System.out.println("Error: " + e);
}
}
}
在TryCatch功能中,我有这样一行:
driver.findElement(By.id("addressInput")).sendKeys(Keys.ARROW_DOWN);
在实践中,当你输入你需要的文本时,如果选项只有一个,你可以对机器人说,按箭头向下,以便选择选项。如你所见,在我的例子中,文字还没有准备好。它是 "Indian Drive, Keysborough VIC, "而不是 "Indian Drive, Keysborough VIC, Australia",因为我想看到建议。所以,总结一下,如果你将输入你的文本,结果只有一个(唯一的)这个代码将始终选择从列表中的选项,按箭头向下按钮(sendKeys(Keys.ARROW_DOWN))。
如果你需要进一步升级它 此处 是这个建议生成器的谷歌官方页面。