【发布时间】:2012-04-25 23:53:32
【问题描述】:
如何仅解析这些代码块的文本部分?我在 java 中使用 Selenium 客户端驱动程序。
<li id="NOT_PUT_PREF_STORE" style="">
<span id="STORE_AVAIL" class="BodyLBoldGrey StockStat">Out of stock</span> <span id="InYourLocal">in your local</span> <span id="storeRollover_2"><span id="STORE_CITY" class="BodyLBoldLtgry VIBSStore1">West Hills</span></span> store<span id="notSelectOptionSOI">.</span>
</li>
或
<li id="NOT_PUT_PREF_STORE" style="">
<span id="STORE_AVAIL" class="BodyLLtgry StockStat">Not carried</span> <span class="BodyLLtgry" id="InYourLocal">in your local</span> <span id="storeRollover_2"><span id="STORE_CITY" class="BodyLBoldLtgry VIBSStore1">West Hills</span></span> store<span id="notSelectOptionSOI">.</span>
</li>
或
<li id="NOT_PUT_PREF_STORE" style="">
<span id="STORE_AVAIL" class="BodyMBold StockStatGreen">In stock</span> <span id="InYourLocal">in your local</span> <span id="storeRollover_2"><span id="STORE_CITY" class="BodyLBoldLtgry VIBSStore1">West Hills</span></span> store<span id="notSelectOptionSOI">.</span>
</li>
我正在尝试解析 web 元素中每个变体中的文本部分(即:未携带、有货、缺货)。我是 selenium 和 html 解析的新手,所以这对我来说真的很难发挥作用。
我在想它会是这样的
WebElement driver = new FirefoxDriver(profile);
driver.get(Url);
System.out.println(driver.getElement(By.id("STORE_AVAIL").getText());
不确定如何使用 cssSelector 来实现,但人们告诉我这样更快。 这行得通吗?
driver.getElement(By.xpath("//li[@id='NOT_PUT_PREF_STORE']./span[@id='STORE_AVAIL']").getText()
【问题讨论】:
-
"我要查找的字符串实际上并没有存储在页面源中。" 那么它是如何显示的呢? JavaScript? “但STORE_AVAIL实际上在页面源中”我认为您只是自相矛盾,但不清楚。
-
顺便说一句,上面的代码是做什么的?对我来说,它应该打印出你需要的东西......
标签: java html parsing selenium