#python #selenium
#python #селен
Вопрос:
Мне нужна ссылка на последнюю версию csv. Если появится новая версия, я выберу последнюю ссылку href.
Вывод: — https://www.nucc.org/images/stories/CSV/nucc_taxonomy_201.csv
home_page1 = "https://www.nucc.org/index.php/code-sets-mainmenu-41/provider-taxonomy-mainmenu-40/csv-mainmenu-57"
driver = webdriver.Chrome("xx\xx\chromedriver.exe")
driver.get(home_page1)
elements = driver.find_elements_by_css_selector("li a")
for link in elements:
print(link.get_attribute('href'))
Комментарии:
1. Я подозреваю, что версия в этом случае равна 201? Вы можете либо использовать регулярное
re.match(".*_(d )..*", "https://www.nucc.org/images/stories/CSV/nucc_taxonomy_201.csv").groups()
выражение, либо, если формат соответствуетsplit()
.
и_
2. хотите избежать разделения и регулярных выражений, ища способ, который напрямую дает последнюю ссылку
3. Почему вы выступаете против регулярных выражений? Есть ли какая-либо причина, по которой это должно быть сделано с использованием selenium?
4. Да, на самом деле было предложено использовать Selenium. Я уже пробовал этот способ. Спасибо
Ответ №1:
Используя некоторые regex
в сочетании с BeautifulSoup
:
from bs4 import BeautifulSoup
import re
soup = BeautifulSoup(driver.page_source)
#Find the tag containing the text 'current version'
current_version_tag = soup.find('p',text=re.compile('current version'))
#The download link will be the first link after it
download_link = "https://www.nucc.org" current_version_tag.find_next("a").get('href')
Вывод
'https://www.nucc.org/images/stories/CSV/nucc_taxonomy_201.csv'
Ответ №2:
iv просмотрел веб-сайт, и кажется, что вы можете сделать это с помощью selenium «find_element_by_xpath». iv прикрепил фотографию.
итак, правильный XPATH
//*[@id="main"]/div[2]/div/div/div[3]/div/ul[1]/li/a
пожалуйста, проверьте, работает ли он снова, когда появится новая версия.
и затем вы можете найти ее с помощью этой команды :
login_form = driver.find_element_by_xpath("//*[@id="main"]/div[2]/div/div/div[3]/div/ul[1]/li/a")
дайте мне знать, если это было полезно.
Комментарии:
1. Это сломается, если структура веб-сайта изменится незначительно
2. могу ли я узнать, как вы получили консоль черного цвета для соответствия
3. свяжите его с надстройкой Google Chrome. И Филип прав в отношении структуры веб-сайта, но, как вы упомянули, я дал вам решение с использованием Selenum. хотя я бы сделал это только с запросами.