gpt4 book ai didi

java - 如何在无法完全加载的页面中使用selenium?

转载 作者:行者123 更新时间:2023-12-01 06:00:43 25 4
gpt4 key购买 nike

我试图从此页面获取一些元素:https://www.humblebundle.com/store/shadowgrounds-survivor这样我就可以和他们一起做点什么。当我从 Chrome 或 Firefox 检查页面时,我会获取页面中的每个元素,或者至少我是这么认为的,但当尝试使用 selenium 查找元素时,却没有。

我意识到页面会永远加载,所以我需要知道是否有任何可能的方法可以使用 selenium 执行某些操作,即使页面未完全加载。

这是我的代码:

public static void main(String[] args) throws IOException, InterruptedException {
System.setProperty("webdriver.gecko.driver", "C:\\WebDriver\\bin\\geckodriver.exe");
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette", true);
WebDriver driver = new FirefoxDriver(capabilities);

try {
driver.get("https://www.humblebundle.com/store/shadowgrounds-survivor");
WebElement listElement1 = driver.findElement(By.tagName(".current-price"));

} finally {
driver.close();
}
}

我从 selenium 得到 NoSuchElementException。

最佳答案

  1. 无需设置功能("marionette", true)原因是here
  2. 选择器错误By.tagName(".current-price")。它是类名称而不是标签名称,因此请使用 className 选择器 driver.findElement(By.className(".current-price"))
  3. 打开您分享的链接时,它会要求确认年龄,如下所示,因此您需要先处理此问题

enter image description here

  • 在脚本中引入隐式显式等待来管理脚本中的超时
  • 所以现在你的代码变成:

    public static void main(String[] args) throws IOException, InterruptedException {
    System.setProperty("webdriver.gecko.driver", "C:\\WebDriver\\bin\\geckodriver.exe");
    WebDriver driver = new FirefoxDriver();
    driver.get("https://www.humblebundle.com/store/shadowgrounds-survivor");
    // handle age confirmation on above suggested page
    WebDriverWait wait = new WebDriverWait(driver,30);
    wait.until(ExpectedConditions.presenceOfElementLocated(By.className(".current-price")));
    driver.get("https://www.humblebundle.com/store/shadowgrounds-survivor");
    WebElement listElement1 = driver.findElement(By.className(".current-price"));
    System.out.println(listElement1.getText());
    driver.close();
    }

    关于java - 如何在无法完全加载的页面中使用selenium?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60481983/

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