我正在尝试从Web浏览器中自动复制一个名称,但是名称更改了,所以我不知道如何复制它。
我试图对其进行双重滤波或“ ctrl + c”,但是它没有用。
WebDriver driver = new ChromeDriver();
driver.get("https://realnamecreator.alexjonas.de/?l=de#");
driver.findElement(By.linkText("[+] Filter-Optionen")).click();
driver.findElement(By.id("gender")).click();
new Select(driver.findElement(By.id("gender"))).selectByVisibleText("w");
driver.findElement(By.id("gender")).click();
driver.findElement(By.id("button")).click();
,此后,我要将名称复制到我的程序中。所以我会说 字符串文本=驱动程序...
答案 0 :(得分:3)
答案 1 :(得分:1)
您不应该使用线程休眠...使用WebDriverWait:
WebDriverWait wait = new WebDriverWait(driver, 20);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("realname")));
然后使用getText()
:
String text = driver.findElement(By.id("realname")).getText()
希望这会有所帮助!
答案 2 :(得分:0)
您共享的链接在生成并显示名称之前,具有ID为realname
的元素。
因此,等待ID为realname
的元素的可见性不会给您预期的结果。
您必须等待页面加载时显示但在显示名称时不显示的图像的隐身性。
尝试一下,
WebDriverWait wait = new WebDriverWait(driver, 20);
wait.until(ExpectedConditions.invisibilityOfElementLocated(By.cssSelector("#realname > a")));
String text = driver.findElement(By.id("realname")).getText();