gpt4 book ai didi

java - 使用 Selenium 获取推特上的关注者数量

转载 作者:行者123 更新时间:2023-11-30 08:07:38 28 4
gpt4 key购买 nike

我正在尝试获取 Twitter 上的关注者数量。我成功地获得了这样的关注者数量:

String followers = driver.findElement(By.xpath("//div[@class='ProfileCanopy-navBar']//li[@class='ProfileNav-item ProfileNav-item--followers']//span[@class='ProfileNav-value']")).getText();

问题是答案不是准确的数字“4.41M”。

HTML:

<a class="ProfileNav-stat ProfileNav-stat--link u-borderUserColor u-textCenter js-tooltip js-nav" data-nav="followers" tabindex="0" data-original-title="4,406,048 Followers">
<span class="ProfileNav-label">Followers</span>
<span class="ProfileNav-value" data-is-compact="true">4.41M</span>
</a>

我正在尝试获取数字“4,406,048”(在属性 a 的末尾)。我在网上看了一个小时左右,没有找到合适的解决方案。我将 Selenium 与 Java 和 Chrome 结合使用。

最佳答案

这很奇怪。我编写了本应提取数字的代码,但它也一直返回 null。我终于弄清楚了,当我拉取元素然后写出 outerHTML 时发生了什么。该元素在页面加载期间被更改。

WebDriver driver = new FirefoxDriver();
driver.get("https://twitter.com/blakeshelton");
WebDriverWait wait = new WebDriverWait(driver, 5);
WebElement e = wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("a[data-nav='followers']")));
System.out.println(e.getAttribute("outerHTML"));
System.out.println(e.getAttribute("title"));

如果你运行这段代码你会得到

<a class="ProfileNav-stat ProfileNav-stat--link u-borderUserColor u-textCenter js-tooltip js-openSignupDialog js-nonNavigable u-textUserColor" title="14,189,678 Followers" data-nav="followers" href="/blakeshelton/followers">
<span class="ProfileNav-label">Followers</span>
<span class="ProfileNav-value" data-is-compact="true">14.2M</span>
</a>
14,189,678 Followers

您会注意到在 outerHTML 的 A 标记中,title 包含关注者的数量。这就是我使用它而不是 data-original-title 的原因。无论如何,这段代码已经过测试并且可以正常工作。

关于java - 使用 Selenium 获取推特上的关注者数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33570353/

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