gpt4 book ai didi

java - 使用 Selenium 将图片固定到板上

转载 作者:行者123 更新时间:2023-12-01 10:52:02 27 4
gpt4 key购买 nike

如果我没有以正确的方式发布内容,请原谅我,因为这是我在该网站上发布的第一篇文章。我目前正在为我的学校制作一个爬虫(用java),它访问pinterest上的某个页面并“重新固定”上面的所有照片。我目前正在使用 Selenium 来编写此代码,但遇到了重复问题。我知道如何编程来打开某个图像并重新固定它,但是我该如何对其他图片执行相同的操作呢?我必须对各种 pinterest 页面执行此操作,每个页面上的图片数量各不相同。这是我现在拥有的相关代码:

public static void GetPageInfo(WebDriver 驱动程序)抛出 AWTException、InterruptedException {
driver.get(“https://www.pinterest.com/kachance33/school-psych/”);
线程 sleep (2000);
driver.findElement(By.xpath("//div[2]/div/div/div[2]/div[3]/a/div[2]/div/div
“))。 点击();
线程.sleep(3000);
driver.findElement(By.xpath("(//button[@type='button'])[23]")).click();
driver.findElement(By.xpath("(//button[@type='button'])[59]")).click();
}

为了帮助简化我的问题,这些问题如下:

  1. 如何让 selenium 点击 xpath 不同的各种图片?
  2. 如何将这一切放入 while 循环中?
  3. 如何处理找不到按钮或图片的异常? (整个程序不会崩溃并且必须重新启动)

最佳答案

基本思想是将 driver.findElements() 与映射到图片列表(以 WebElements 的形式)的 xpath 或 css 选择器结合使用,并迭代它们。

List<WebElement> pictures = driver.findElements(By.cssSelector(".GridItems .item"));

for (WebElement picture : pictures) {
// code to pin the picture
}

使用 driver.findElements() 也可以消除您对问题 #3 的担忧,因为该方法不会抛出异常。如果没有找到图片,它只会返回一个空列表。

关于java - 使用 Selenium 将图片固定到板上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33813754/

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