美丽的汤找到href

时间:2016-08-11 18:42:10

标签: python-2.7 selenium beautifulsoup

我试图只选择特定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&amp;cs=tmX92fFLmToJQ69ZOs2w"><img border="0"  src="/i_5.0/menu/pencil3416x16.gif"/></a></td>

1 个答案:

答案 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"])