【发布时间】:2025-12-28 08:55:10
【问题描述】:
试图通过其 xPath 从 Facebook 上传一些图像,但运气不好,还有其他方法吗?
Java:
var xPathContato = "//*[@id=\"mount_0_0_lv\"]/div/div[1]/div/div[3]/div/div/div[1]/div[1]/div/div/div[4]/div/div/div/div/div/div/div/div/div[3]";
WebElement wb = webDriver.findElement(By.xpath(xPathContato));
String image = wb.getAttribute("src");
URL imageURL = new URL(image );
BufferedImage saveImage = ImageIO.read(imageURL);
ImageIO.write(saveImage, "png", new File("facebook-img"));
错误:
Caused by: org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="mount_0_0_lv"]/div/div[1]/div/div[3]/div/div/div[1]/div[1]/div/div/div[4]/div/div/div/div/div/div/div/div/div[3]"}
【问题讨论】:
-
您收到该错误是因为该元素不存在。仅仅因为当你在 chrome 中打开开发者工具栏时它就存在,并不意味着当你在 Selenium 中加载页面时它就存在。
-
@WizKid 好久不见。顺便说一句,Facebook 从什么时候开始允许抓取合法的?
-
@DebanjanB 如果不是非法的,就是合法的。
-
@JamesB 自从 FB 转为 Meta(verse) 以来,还没有看到更精细的 ToS,等待从马嘴里听到;)
-
我从未说过这是合法或非法的。我说这违反了 Facebook 服务条款,因此你有被禁止的风险。
标签: java selenium facebook selenium-webdriver