Как выбрать конкретную таблицу с веб-страницы с помощью python - PullRequest
0 голосов
/ 26 апреля 2020

Я работаю над веб-проектом. У меня есть веб-страница, которая содержит несколько таблиц. Каждая таблица имеет несколько строк ссылок. Меня не интересуют все таблицы, а только одна в частности. Но у таблиц нет уникальных имен классов или идентификаторов, с помощью которых я могу их вызывать.

Я знаю, что таблица, которую я хочу, является второй таблицей на веб-странице. Я подтвердил это на странице источника. Как выбрать вторую таблицу на веб-странице с помощью xpath или любой другой функции?

Я использую селен для доступа к веб-странице. Вот код на данный момент

driver = webdriver.Chrome()
wait = WebDriverWait(driver, 10)
driver.maximize_window()

def initial_setup(base_url, email, password):

    driver.get(base_url)
    el = wait.until(EC.element_to_be_clickable((By.ID, "EmailAddress")))
    el.send_keys(email)

    el = wait.until(EC.element_to_be_clickable((By.ID, "Password")))
    el.send_keys(password)

    el = wait.until(EC.element_to_be_clickable((By.ID, "btnSubmit")))
    el.click()

    wait.until(EC.element_to_be_clickable((By.CLASS_NAME, "profile-section-header")))

    url = "https://www.mims.com/india/browse/alphabet/a?cat=drug&tab=brand"

    driver.get(url)
    wait.until(EC.visibility_of_element_located((By.CLASS_NAME, "searchicon")))

    a_tags = driver.find_elements_by_xpath("//table//a[@href]")

    links = [link.get_attribute("href") for link in a_tags]

    return links

В приведенном выше коде я анализирую все ссылки на веб-странице, которые мне не нужны. Я хочу разобрать только ссылки во второй таблице.

Как мне это сделать?

...