>urls = driverfind_elements_by_xpath("//a")
for url in urls:
print(urlget_attribute("href"))
如果get_attribute方法报错应该是没有找到a标签对象,如果确定是有的话,可能是页面加载比较慢还没加载出来,selenium默认是不会等待对象出现的,需要在找对象前加一些等待时间;另外如果页面上有iframe的话需要先切换进去才能找到里面的对象。
//a[@href="/wt/common/wangyicom"] 这个定位到节点,
得到节点node 取InnerText
// var goodName= docDocumentNodeSelectSingleNode("//h3[@class='goods-title']");
// // MessageBoxShow(goodNameInnerText);
你这个用正则工具可以提取,具体参考下面截图,如果你想要采集链接的地址,其实根本不用这么复杂的来看网页源代码,就用我截图中用到的八爪鱼采集器,可视化的,要提取链接的话,直接点击网页上的链接,会d出一个选项问你是否要采集链接,你选择采集链接即可。
第一种方法,正则表达式。如下所示
string reg = @"<a[^>]href=([""'])(<href>[^'""]+)\1[^>]>";
var item = RegexMatch(str, reg, RegexOptionsIgnoreCase);
ConsoleWriteLine(itemGroups["href"]Value);
第二种使用htmlagilitypack的xpath进行提取
HtmlNodeCollection atts = _docDocumentNodeSelectNodes("//a[@href]");
一般在使用爬虫时都会用自有的框架进行数据提取和分离。其中正则比较简洁和高效。但需要提前调试好。第三方控件使用起来比较容易而且还有其他功能可以辅助使用。
你选择超级链接的文件时,系统会自动选择是用相对路径还是用绝对路径的。如果你选择链接的目标文件与源文件在同一文件夹或子文件夹下,系统会自动将路径表示为相对路径的。如果目标文件与源文件在不同的磁盘,系统会自动将路径表示为绝对路径。你自己做两个实验观察一下。
以上就是关于能用java相关技术解析Html页面,批量获取页面内容对应的xpath吗全部的内容,包括:能用java相关技术解析Html页面,批量获取页面内容对应的xpath吗、用python selenium提取网页中的所有<a>标签中的超级链接地址、xpath定位一段文字等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)