gpt4 book ai didi

java - Selenium 无法点击 google SERP 中的链接

转载 作者:行者123 更新时间:2023-11-30 07:56:17 25 4
gpt4 key购买 nike

这是测试的java类代码

public class Selenium_Test {

@Test
public void startWebDriver() {
System.setProperty("webdriver.chrome.driver", "C:\\ChromeDriver\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.navigate().to("https://www.google.com");
Assert.assertEquals("Google", driver.getTitle());
WebElement searchField = driver.findElement(By.cssSelector("input.gsfi"));
searchField.sendKeys("datapine.com`");`
searchField.submit();
WebElement pricing = driver.findElement(By.linkText(".//a[text() = 'Pricing']"));
List<WebElement> linkElements = driver.findElements(By.xpath("//*[@id='rso']/li"));

for (WebElement result : linkElements) {
if (result.equals(pricing)) {
result.click();
}
}
}
}

我总是收到错误,Selenium 无法找到页面上的元素。任何机构都可以帮忙吗?

这是堆栈跟踪:

org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"link text","selector":".//a[text() = 'Pricing']"}
at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:340)

最佳答案

按链接文本定位器应与链接文本一起使用,而不是与 XPath 表达式一起使用。替换:

By.linkText(".//a[text() = 'Pricing']")

与:

By.linkText("Pricing")
<小时/>

您可能还需要等待元素出现:

WebDriverWait wait = new WebDriverWait(webDriver, 5);
WebElement pricing = wait.until(ExpectedConditions.visibilityOfElementLocated(By.linkText("Pricing")));
pricing.click();

关于java - Selenium 无法点击 google SERP 中的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32631348/

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