Получить тип атрибута из xpath в консоли Chrome - PullRequest
0 голосов
/ 06 мая 2020

Я читал шпаргалки по xpath, такие как https://devhints.io/xpath, но не могу найти то, что я хочу сделать так, как предлагается.

Я работаю над страницей с более чем 100 блоками, подобными этому:

<tr role="row" class="odd"><td>
            <div class="paradaContainer">
                <a class="changue-paraderos" data-id="7" href="https://www.transmilenio.gov.co/loader.php?lServicio=Rutas&amp;lTipo=busqueda&amp;lFuncion=paradas&amp;paradero=7">
                    <span class="fa fa-circle "></span>
                    <span>001A01 - Br. Rincón del Chicó</span>
                </a><br>
                <span class="fa fa-map-marker "></span><span>AC 100 - KR 13</span>
            </div>
            </td></tr>

Я хочу получить URL-адрес, содержащийся в атрибуте "href" , поэтому я использую следующий xpath в Google Chrome console:

$x("//tr/td/div/a[@class='changue-paraderos']/@href")

Вывод I wi sh:

https://www.transmilenio.gov.co/loader.php?lServicio=Rutas&amp;lTipo=busqueda&amp;lFuncion=paradas&amp;paradero=7

Однако полученный вывод:

href

Итак, мой вопрос: как мне получить тип атрибута вместо самого атрибута? т.е. как мне получить URL-адрес вместо "href"?

Это может быть основной c вопрос, но он не работает с имеющейся у меня документацией.

Заранее спасибо.


Решил эту проблему. Я действительно получал вывод, который был вложен между широким спектром атрибутов. Затем я сначала получил все это, а на втором этапе я выбрал специфицированное c значение, которое хотел:

links_base = driver.find_elements_by_xpath ('// a [@ class = "changue-paraderos"] ')

for link in links_base:  # Loop para obtener los 200 links por página
    temp = str(link.get_attribute("href"))
    links.append(temp)

1 Ответ

0 голосов
/ 06 мая 2020

Это должно работать:

$x("string(//tr/td/div/a[@class='changue-paraderos']/@href)")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...