我使用webdriver的抓取网站为寻找装饰用魔法不断的联系,除了可以将文本格式:如何找到所有孩子的文本节点
<a href="blah" ..><span blah>magic</span></a>
和多层次
<a href="blah" ..><span blah>A <span blah><b>magic</b></span> evening</span></a>
我不知道它是否被格式化,或者如果它是多少深度,我正在搜索任意网站。
我的代码看起来是这样的:
List<WebDriver> links = driver.getElements(By.tagName("a"));
for (WebElement link : links) {
List<WebElement> children = link.getElements(By.tagName("*"));
for (WebElement child : children) {
if (myPattern.matcher(child.getText()).matches()) {
System.out.println("found match!");
}
}
}
但这无法找到匹配。
有关如何确定是否匹配的任何想法?
好的,我会试试这个。但我希望使用普通的webdriver API来减轻重量。 – rsj
这里的问题是,如果链接包含魔术字符串,我想单击它,并且href目标可能是javascript。但我会检查jsoup。 – rsj
很长一段时间没有使用WebDriver/Selenium,但我已经看到类似这样的东西,它看起来可能具有相同的效果,但是这并未经过测试,并且是一种疯狂的猜测:'String innerText =((JavascriptExecutor)驱动程序) .executeScript(“return arguments [0] .innerText”,element);' –