如何使用Selenium和Python获取包含更多关键字的元素过滤链接?

2024-05-18 12:33:50 发布

您现在位置:Python中文网/ 问答频道 /正文

从引用到这里,How to get link from elements with Selenium and Python

我试过:

for a in driver.find_elements_by_xpath('.//span[contains(text(), "SPE8ED-21-Q-1288")]/a'):
    print(a.get_attribute('href'))

结果表明:

https://www.dibbs.bsm.dla.mil/Default.aspx
https://www.dibbs.bsm.dla.mil/Solicitations/Default.aspx
https://www.dibbs.bsm.dla.mil/RFQ/Default.aspx
https://www.dibbs.bsm.dla.mil/RFQ/RFQNsn.aspx?value=8145014862449&category=post&Scope=
https://dibbs2.bsm.dla.mil/Downloads/RFQ/8/SPE8ED21Q1288.PDF
https://www.dibbs.bsm.dla.mil/rfq/rfqrec.aspx?sn=SPE8ED21Q1288
https://www.dibbs.bsm.dla.mil/RA/Quote/QuoteFrm.aspx?sn=SPE8ED21Q1288

我只对只包含Downloads关键字的链接感兴趣

在这种情况下,

https://dibbs2.bsm.dla.mil/Downloads/RFQ/8/SPE8ED21Q1288.PDF

有没有办法做这个过滤


Tags: httpsdefaultgetpdfdownloadswwwelementsrfq
2条回答

您可以像这样过滤下载关键字

for a in driver.find_elements_by_xpath('.//span[contains(text(), "SPE8ED-21-Q-1288")]/a'):
    if "Downloads" in a.get_attribute('href'):
        print(a.get_attribute('href'))

代码说明:

我们得到一个list of web elements,然后(通过迭代)查找每个web元素,并查找每个web元素的属性href,如果找到Downloads,则打印href

试着这样做:

for a in driver.find_elements_by_xpath('.//span[contains(text(), "SPE8ED-21-Q-1288")]/a'):
    if "Downloads" in a.get_attribute("href"):
        print(a.get_attribute('href'))

相关问题 更多 >

    热门问题