Код, который вы нашли нужную ссылку
g = '12.5'
elem7 = driver.find_element_by_xpath(("//a[contains(., 'leaflet')and contains(.,'" + g + "')]"))
print(elem7.text)
link2 = elem7.get_attribute('href')
print(link2)
Результат
ALMOGRAN 12.5 MG FILM-COATED TABLETS
leaflet MAH BRAND_PLPI 20774-1629.pdf
https://mhraproductsprod.blob.core.windows.net/docs-20200406/bf115fe972a98836c2af4072a77e2aaa04bcfa24
Но это всегда первая ссылка на странице, которую вы найдете, потому что вы используете 'find_element ». Если вы проверите критерии поиска с помощью 'find_elements', вы увидите, что он действительно находит все 4 ссылки.
g = '12.5'
elements = driver.find_elements_by_xpath(("//a[contains(., 'leaflet')and contains(.,'" + g + "')]"))
for element in elements:
print(element.text)
link2 = element.get_attribute('href')
print(link2)
Результат
ALMOGRAN 12.5 MG FILM-COATED TABLETS
leaflet MAH BRAND_PLPI 20774-1629.pdf
https://mhraproductsprod.blob.core.windows.net/docs-20200406/bf115fe972a98836c2af4072a77e2aaa04bcfa24
ALMOTRIPTAN 12.5MG TABLETS,ALMOGRAN 12.5MG TABLETS
leaflet MAH BRAND_PLPI 20636-1099.pdf
https://mhraproductsprod.blob.core.windows.net/docs-20200406/3ef1e68659b17b5cbc6bed7988dd7d32d8ff5258
ALMOTRIPTAN 12.5MG TABLETS,ALMOGRAN 12.5MG TABLETS
leaflet MAH BRAND_PLPI 18799-1153.pdf
https://mhraproductsprod.blob.core.windows.net/docs-20200406/91cb21381c4aea438fe87a49cfc4abd3557f7614
ALMOGRAN 12.5 MG FILM-COATED TABLETS,ALMOTRIPTAN 12.5 MG FILM-COATED TABLETS
leaflet MAH BRAND_PLPI 20636-2661.pdf
https://mhraproductsprod.blob.core.windows.net/docs-20200406/f30be6ab9c3e85abd455da4262ffaf5932813014
Так что, если бы ваше лекарство не было бы первым на странице ваш код нашел бы другое лекарство. Вы можете сделать свой критерий поиска более точным c. Другой способ - использовать find_elements и добавить что-то вроде 'if "дополнительные критерии" в element.text: ...' внутри для l oop.
. Поиск всех лекарств на странице
# ------------------------------------------------------------------
def find_medicine_leaflet(page_meds, med_name):
print(f'\n------- searching for {med_name} -------')
nr_found = 0
for page_med in page_meds:
if medicine_name in page_med.text:
nr_found += 1
text = page_med.text.replace('\n', ' - ')
print(f"{nr_found} {text}\n leaflet url: {page_med.get_attribute('href')}")
print(f'------- {nr_found} found -------\n')
# ------------------------------------------------------------------
medicine_names = [
'ALMOGRAN 12.5 MG FILM-COATED TABLETS',
'ALMOTRIPTAN 12.5MG TABLETS,ALMOGRAN 12.5MG TABLETS',
'ALMOTRIPTAN 12.5MG TABLETS,ALMOGRAN 12.5MG TABLETS',
'ALMOGRAN 12.5 MG FILM-COATED TABLETS,ALMOTRIPTAN 12.5 MG FILM-COATED TABLETS',
]
g = '12.5'
page_medicines = driver.find_elements_by_xpath(("//a[contains(., 'leaflet')and contains(.,'" + g + "')]"))
for medicine_name in medicine_names:
find_medicine_leaflet(page_medicines, medicine_name)
Результат
------- searching for ALMOGRAN 12.5 MG FILM-COATED TABLETS -------
1 ALMOGRAN 12.5 MG FILM-COATED TABLETS - leaflet MAH BRAND_PLPI 20774-1629.pdf
leaflet url: https://mhraproductsprod.blob.core.windows.net/docs-20200406/bf115fe972a98836c2af4072a77e2aaa04bcfa24
2 ALMOGRAN 12.5 MG FILM-COATED TABLETS,ALMOTRIPTAN 12.5 MG FILM-COATED TABLETS - leaflet MAH BRAND_PLPI 20636-2661.pdf
leaflet url: https://mhraproductsprod.blob.core.windows.net/docs-20200406/f30be6ab9c3e85abd455da4262ffaf5932813014
------- 2 found -------
------- searching for ALMOTRIPTAN 12.5MG TABLETS,ALMOGRAN 12.5MG TABLETS -------
1 ALMOTRIPTAN 12.5MG TABLETS,ALMOGRAN 12.5MG TABLETS - leaflet MAH BRAND_PLPI 20636-1099.pdf
leaflet url: https://mhraproductsprod.blob.core.windows.net/docs-20200406/3ef1e68659b17b5cbc6bed7988dd7d32d8ff5258
2 ALMOTRIPTAN 12.5MG TABLETS,ALMOGRAN 12.5MG TABLETS - leaflet MAH BRAND_PLPI 18799-1153.pdf
leaflet url: https://mhraproductsprod.blob.core.windows.net/docs-20200406/91cb21381c4aea438fe87a49cfc4abd3557f7614
------- 2 found -------
------- searching for ALMOTRIPTAN 12.5MG TABLETS,ALMOGRAN 12.5MG TABLETS -------
1 ALMOTRIPTAN 12.5MG TABLETS,ALMOGRAN 12.5MG TABLETS - leaflet MAH BRAND_PLPI 20636-1099.pdf
leaflet url: https://mhraproductsprod.blob.core.windows.net/docs-20200406/3ef1e68659b17b5cbc6bed7988dd7d32d8ff5258
2 ALMOTRIPTAN 12.5MG TABLETS,ALMOGRAN 12.5MG TABLETS - leaflet MAH BRAND_PLPI 18799-1153.pdf
leaflet url: https://mhraproductsprod.blob.core.windows.net/docs-20200406/91cb21381c4aea438fe87a49cfc4abd3557f7614
------- 2 found -------
------- searching for ALMOGRAN 12.5 MG FILM-COATED TABLETS,ALMOTRIPTAN 12.5 MG FILM-COATED TABLETS -------
1 ALMOGRAN 12.5 MG FILM-COATED TABLETS,ALMOTRIPTAN 12.5 MG FILM-COATED TABLETS - leaflet MAH BRAND_PLPI 20636-2661.pdf
leaflet url: https://mhraproductsprod.blob.core.windows.net/docs-20200406/f30be6ab9c3e85abd455da4262ffaf5932813014
------- 1 found -------
Насколько я понимаю, он ничего не пропускает. Из-за совпадения названий лекарств он может найти 2 листовки, но все находят.