猿问

如何获取Webtable的动态Xpath?

List<WebElement>table=driver.findElements(By.xpath("//*[@id=\"prodDetails\"]/div[2]/div[1]/div/div[2]/div/div/table/tbody/tr"));

JavascriptExecutor jse = (JavascriptExecutor) driver;

// jse.executeScript("arguments[0].scrollIntoView();",table);

jse.executeScript("arguments[0].style.border='3px solid red'",table);

int row= table.size();

我无法获得所需的行数和列数。我提供的xpath在站点上找不到表

我必须获取手机的规格。


慕姐4208626
浏览 145回答 3
3回答

富国沪深

代替此xpath://*[@id=\"prodDetails\"]/div[2]/div[1]/div/div[2]/div/div/table/tbody/tr用这个 ://*[@id="prodDetails"]/div[2]/div[1]/div/div[2]/div/div/table/tbody/tr尽管我不建议您使用绝对xpath。您可以使用相对xpath,它更易读和容易。相对Xpath://div[@id='prodDetails']/descendant::div[@class='pdTab'][1]/descendant::tbody/tr在代码中类似:List<WebElement>table=driver.findElements(By.xpath("//div[@id='prodDetails']/descendant::div[@class='pdTab'][1]/descendant::tbody/tr"));

守着星空守着你

而不是绝对的xpath://*[@id=\"prodDetails\"]/div[2]/div[1]/div/div[2]/div/div/table/tbody/tr我建议使用简单的相对xpath://*[@id='prodDetails']//table/tbody/tr如果页面中没有其他表,则此xpath将起作用。否则,请确保两个表都可以通过某些属性进行区分
随时随地看视频慕课网APP

相关分类

Java
我要回答