Пожалуйста, попробуйте этот xpath и дайте мне знать, как он работает.
//*[@id="zona-mijloc"]//div/table/tbody/tr/td/label/kbd
Я могу найти 3 элемента с указанным выше xpath. Если вы хотите захватить текст всех 3 элементов, попробуйте приведенный ниже код. Иначе он получит текст первых элементов.
Код Java:
import java.util.List;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
public class SW58291360 {
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.pbinfo.ro/?pagina=judge-board&id_problema=3120&user=IosifHriscu");
List<WebElement> ids=driver.findElements(By.xpath("//*[@id='zona-mijloc']//div/table/tbody/tr/td/label/kbd"));
for(int i=0;i<ids.size();i++)
{
System.out.println(ids.get(i).getText());
}
driver.quit();
}
}
Код Python:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver = webdriver.Chrome('/usr/local/bin/chromedriver') # Optional argument, if not specified will search path.
driver.implicitly_wait(15)
driver.get("https://www.pbinfo.ro/?pagina=judge-board&id_problema=3120&user=IosifHriscu");
WebDriverWait(driver, 3).until(EC.presence_of_element_located((By.XPATH, "//*[@id='zona-mijloc']//div/table/tbody/tr/td/label/kbd"))) #Wait for specific element
table_rows= driver.find_elements(By.XPATH,"//*[@id='zona-mijloc']//div/table/tbody/tr/td/label/kbd")
for rows in table_rows:
print rows.text
driver.quit()
выход
#16401488
#16401481
#16401478