gpt4 book ai didi

java - 如何使用 Selenium 定位 Facebook 的生日元素?

转载 作者:行者123 更新时间:2023-12-01 23:34:42 25 4
gpt4 key购买 nike

我正在尝试使用 Selenium(java 和 chrome)从 Facebook 个人资料的“关于页面”中提取出生日期。我该怎么做?

在 Facebook 的“关于”选项卡上,有一个元素包含人员的出生日期(如果公开)。我真的很想把它作为一个字符串。这里的例子: https://www.facebook.com/zuck/about?lst=100002006436635%3A4%3A1570508289

我尝试过 driver.findElementByXPath 和 driver.findElementByClassName 以及 PartialLinkText。我之前在另一个地方做过这个并且它有效,也许我只是在这里做错了什么。

我尝试过的 XPath 代码在这里:

.findElementByXPath("//*[@class='_4bl9 _2pis _2dbl']");

.findElementByXPath("//*[contains(text(), 'birthdate')]");

请指导我如何找到该元素或提取出生日期

最佳答案

试试这个 xpath 并让我知道

//span[text()='Birthday']//../following-sibling::div

示例代码:

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class Test {

public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", "./libs/chromedriver 4");
WebDriver driver=new ChromeDriver();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.get("https://www.facebook.com/zuck/about?lst=100002006436635%3A4%3A1570508289");
driver.findElement(By.name("email")).sendKeys("<username>");
driver.findElement(By.name("pass")).sendKeys("<password>");
driver.findElement(By.name("pass")).submit();
driver.findElement(By.name("pass")).sendKeys("<password>");
driver.findElement(By.name("pass")).submit();
driver.get("https://www.facebook.com/zuck/about?lst=100002006436635%3A4%3A1570508289");
System.out.println(driver.findElement(By.xpath("//span[text()='Birthday']//../following-sibling::div")).getText());

}

}

输出

14 May 1984

关于java - 如何使用 Selenium 定位 Facebook 的生日元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58280159/

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