我试图只选择特定tr标签内的href。
这是我的代码:
Mat img1 = imread("C:\\input0.png");
namedWindow("original");
imshow("original", img1 );
int lowThreshold = 20;
int ratio = 2;
int kernel_size = 5;
Mat edge_map;
Mat gray_image;
cvtColor(img1, gray_image, CV_BGR2GRAY);
Canny(gray_image, edge_map, lowThreshold, lowThreshold*ratio, kernel_size);
namedWindow("Edge Image");
imshow("Edge Image", edge_map);
Mat result_image = produce_the_result_image(img1, edge_map);
namedWindow("Final Image");
imshow("Final Image", result_image );
int key = 1;
while (key != 'q') {
key = waitKey(5);
}
这是输出:
soup=bs(driver.page_source, 'html.parser')
obj=soup.find(text="test545")
new=obj.parent.previous_sibling.previous_sibling.previous_sibling
print new
if new.has_key('href'):
new=new['href']
print"found!"
我想只选择href内的链接。
编辑:
感谢alecxe提供正确的解决方案。
解决方案 -
<td headers="LINK"><a href="f?p=106:3:92877880706::NO::P3_ID:5502&cs=tmX92fFLmToJQ69ZOs2w"><img border="0" src="/i_5.0/menu/pencil3416x16.gif"/></a></td>
答案 0 :(得分:2)
提供页面的完整HTML,包括元素与text =&#34; test545&#34;的相对位置。和所需的链接,将有助于为您提供更强大的解决方案。
但是,考虑到问题中发布的内容,您可以在a
元素中找到new
元素:
link = new.a
print(link["href"])
其中.a
相当于.find("a")
。
还可以尝试使用.find_previous()
method找到td
元素中的obj
元素:
obj = soup.find(text="test545")
td = obj.find_previous("td", headers="LINK")
link = td.a
print(link["href"])