gpt4 book ai didi

java - 获取表格元素的旧值,如何获取新值?

转载 作者:行者123 更新时间:2023-11-30 12:05:10 24 4
gpt4 key购买 nike

我正在尝试从网站 whoscored.com 中抓取一些数据。 ( https://www.whoscored.com/Regions/81/Tournaments/6/Seasons/7406/Stages/16428/PlayerStatistics/Germany-Bundesliga-II-2018-2019 )

我点击详细选项卡,按分钟对德乙联赛的球员进行排序。问题是,在单击这些选项卡之后,似乎成功地获得了新表(第一个代码框)

celtext 仍然给我初始表的值,即单击“分钟和详细信息”选项卡之前的值。 (第二段代码)

如何确保在检索 celtext 时获得更新的信息?

想要的输出:

  1. 先点击详细
  2. 点击分钟数
  3. 第一人称应该是 Daniel Heurer Fernandes

实际输出:

  1. 先点击详细(成功)
  2. 点击分钟数(玩家按分钟数排序)
  3. 获取 celtext(显示有关 Philipp Klement 的所有信息.... :( )

非常感谢您的帮助!

尝试过的解决方案

我尝试将线程设置为在每次单击表格后 hibernate 8 秒,但这并不影响结果。我知道这可能与未完全加载的元素或点击没有导致影响数据的“硬点击”有关。但是,该页面确实更改为我希望它所在的表格。

代码

    WebElement detail = driver.findElement(By.xpath("//*[@id=\"detailed-statistics-tab\"]/a")); // selects detailed tab in stats
ex.executeScript("arguments[0].click();", detail);

int ok_size1=driver.findElements(By.xpath("//*[@id=\"player-table-statistics-head\"]/tr/th[5]")).size(); // sorts by mins
driver.findElements(By.xpath("//*[@id=\"player-table-statistics-head\"]/tr/th[5]")).get(ok_size1-1).click();


WebElement theTable = driver.findElement(By.xpath("//*[@id=\"player-table-statistics-body\"]"));

List < WebElement > rows_table = theTable.findElements(By.tagName("tr"));
rows_count = rows_table.size();
for (int row = 0; row < rows_count; row++) {
List < WebElement > Columns_row = rows_table.get(row).findElements(By.tagName("td"));
int columns_count = Columns_row.size();
for (int column = 0; column < columns_count; column++) {
String celtext = Columns_row.get(column).getAttribute("innerHTML");

期待 Daniel Heur Fernandes 的输出,但得到 Philipp Clement

最佳答案

问题是在表中查找标签名称为 with 的元素。而是尝试以下解决方案来获取带有播放器链接的行元素列表,

List<WebElement> players = driver.findElements(By.xpath("//*[@id='statistics-table-detailed']//tr//a[@class='player-link']"));
for(WebElement player:players)
{
System.out.println(player.getText());
}

关于java - 获取表格元素的旧值,如何获取新值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56561666/

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