我的目標是要解析的HTML代碼塊象下面這樣獲得的文本,評論和回覆字段作爲塊獨立的部分:硒的webdriver findElements()對單失敗行情
<div id='fooID' class='foo'>
<p>
This is the top caption of picture's description</p>
<p>
T=<img src="http://www.mysite.com/images/img23.jpg" alt="" width="64" height="108"/> </p>
<p>
And here is more text to describe the photo.</p>
<div class=comments>(3 comments)</div>
<div id='reply13' class='replies'>
<a href=javascript:getReply('13',1)>Show reply </a></div>
</div>
我的問題是Selenium的WebDriver似乎不支持HTML中的非字符串標識符(注意HTML中的類字段是'foo'而不是「foo」)。從我在Selenium文檔和其他SO帖子中看到的所有示例中,後者的格式是WebDriver通常所期望的。
這裏是我的各種(失敗)的嘗試我的Java代碼中的相關部分:
java.util.List<WebElement> elementList = driver.findElements(By.xpath("//div[@class='foo']"));
java.util.List<WebElement> elementList = (List<WebElement>) ((JavascriptExecutor)driver).executeScript("return $('.foo')[0]");
java.util.List<WebElement> elementList = driver.findElements(By.xpath("//div[contains(@class, 'foo')]"));
java.util.List<WebElement> elementList = driver.findElements(By.cssSelector("div." + foo_tag)); // where foo_tag = "'foo'".replace("'", "\'");
java.util.List<WebElement> elementList = driver.findElements(By.cssSelector("'foo'"));
是否有處理這個法子?還是有其他更好的方法來提取上述字段? 其他信息:
- 我是一個HTML小白,但也在努力瞭解HTML代碼的結構/標籤
- 使用Firefox(和,因此,FirefoxDriver)
你幫助/建議非常感謝!
HTML是無效的。 – aimbire