gpt4 book ai didi

java - 包含链接文本的下拉列表中的 getText() 返回空字符串

转载 作者:行者123 更新时间:2023-12-01 18:54:03 26 4
gpt4 key购买 nike

网站 https://formy-project.herokuapp.com/
从组件下拉列表中 getText() 期间遇到的问题。
代码:

@Test(priority=1)
public void elements () throws InterruptedException{

List<WebElement> getlinks=driver.findElements(By.tagName("a"));
int nooflinks=getlinks.size();
System.out.println("numbers linktext in page:- "+nooflinks);

for(int i=0;i<=nooflinks-1;i++){

WebElement alllinks=getlinks.get(i);
String all_Ltext=alllinks.getText();

JavascriptExecutor jse=(JavascriptExecutor)driver;
jse.executeScript("arguments[0].getText();", all_Ltext);
this block is not working


System.out.println("Link text:- "+all_Ltext +" \nNumber of charecters in text:-"+allchar +"\nand color are:- "+tcolor);
d
}

最佳答案

要在 Selenium 中获取文本,元素应该可见。您必须等到元素可见才能获取文本。 WebDriverWait 用于特定条件等待:

import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;

WebDriverWait wait = new WebDriverWait(driver, 10);

List<WebElement> links = wait.until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.cssSelector("a.dropdown-item")));
// links.forEach(element -> System.out.println(element.getText()));
links.forEach(element -> {
// Do something ...
System.out.println("Link text: " + element.getText());
});

没有 JavaScript getText() 方法,这就是 jse.executeScript("arguments[0].getText();", all_Ltext); 不起作用的原因。

关于java - 包含链接文本的下拉列表中的 getText() 返回空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59692056/

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