检索第5项';使用SeleniumWebDriver的价格值

检索第5项';使用SeleniumWebDriver的价格值,selenium,selenium-webdriver,selenium-rc,rc,Selenium,Selenium Webdriver,Selenium Rc,Rc,假设我有来自多个零售商的多个报价,我将如何从特定零售商(比如Target或Walmart)获取第五个价值?我可以使用匹配的图像徽标位访问第5个条目我如何检索该值 添加Html代码使事情更清楚。我需要检索ratePrice值(198) 标准货物 跨国公司 $198 49 754.49美元 如果您能提供一些HTML,它会有所帮助。一般来说,根据您的要求,您将获得price div或任何HTML元素的定位器,然后使用以下内容获取其文本: \u驱动程序.findelelement(元

假设我有来自多个零售商的多个报价,我将如何从特定零售商(比如Target或Walmart)获取第五个价值?我可以使用匹配的图像徽标位访问第5个条目我如何检索该值

添加Html代码使事情更清楚。我需要检索ratePrice值(198)


标准货物



跨国公司

$198 49 754.49美元


如果您能提供一些HTML,它会有所帮助。一般来说,根据您的要求,您将获得price div或任何HTML元素的定位器,然后使用以下内容获取其文本:
\u驱动程序.findelelement(元素的定位器)。文本

诀窍是理解HTML,以便针对第5个元素。因此,如果你能找到第5个条目的行,那么这只是一个简单的问题,或者在该行中找到price div并得到它的文本

根据OP在评论中提供的更多信息进行编辑

使用您提供的HTML(顺便说一下,它的格式不是很好,缺少结束强标记、标记等)。我要说的是做以下几点:


\u driver.findelelement(By.XPath(“/div[@class='ratePrice'][5]/h3”).Text
标准商品


19849美元754.49美元
“>我需要检索ratePrice值。我根据提供的HTML更新了答案,让我知道这是否适用于您尝试了以下两个选项:String word=driver.findElement(By.xpath(//div[contains(@class,'ratePrice'][3]/h3”)).getText();String word=driver.findElement(By.xpath(//(div[contains(@class,'ratePrice'])[3]/h3”)).getText();错误:org.openqa.selenium.InvalidSelectorException:给定的选择器//div[contains(@class,'ratePrice'][3]/h3无效或未生成WebElement。出现以下错误:InvalidSelectorError:无法找到xpath表达式为//div[contains(@class,'ratePrice'][3]的元素/h3由于以下错误:1)如果您取出
包含的内容
,只需执行
@class='ratePrice'
2)该怎么办问题可能在于标记的格式不正确。可能在从未关闭的open
strong
标记之后,它找不到任何东西。试着一块一块地做,先从
//h3
开始,然后可能是
//div[@class='ratePrice']
并让我知道会发生什么。谢谢,它成功了。还有一个问题-如果我不知道确切的行数,我该怎么办。例如:从按价格顺序排列的所有鞋的列表中查找第四便宜的Nike鞋的价格。请注意行数可能会根据我的搜索条件而变化。我可以使用徽标识别Nike鞋-xpath=“(//img[@alt=\“Nike\”])[4]”但如何计算同一行中的价格?如果它说
vendor=“15”
,这是识别供应商的好方法吗?在本例中是沃尔玛?