java - 如何修复xpath?
问题描述
这是我必须使用的 xpath:"//*[@id="zona-mijloc"]/div/table/tbody/tr[1]/td[1]/label/kbd"
String id = driver.findElement(By.xpath("//*[@id=\"zona-mijloc\"]div/table/tr[1]/td[1]/label/kbd")).getText();
解决方案
请试试这个 xpath,让我知道它是怎么回事。
//*[@id="zona-mijloc"]//div/table/tbody/tr/td/label/kbd
我能够使用上述 xpath 找到 3 个元素。如果要捕获所有 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
推荐阅读
- regex - 使用正则表达式如何停止匹配字符串的标识符
- reactjs - 在它工作的前一天,但现在“纱线开始”在 ubuntu 中不起作用
- java - 保存子类别时出现休眠异常
- testing - golang中单元测试的种子随机数
- css - 如何防止 Bootstrap 导航栏链接崩溃
- angular - 通过指令上的属性存在设置布尔输入属性
- r - 如何使用命令行中的 rscript 命令在 R 中运行作业数组?
- java - TelephonyManager 结束通话的替代方案
- java - 通过 JSch 连接到服务 - 预期数据包类型 30,得到 34
- python - Pandas:如何用 nan 维护列的类型?