xPath извлекает неверный текст - PullRequest
0 голосов
/ 28 марта 2020

Мне нужно получить два разных псевдо instagram с xpath.

У меня есть один блок html с двумя блоками, где есть псевдо. Первый xpath дает мне первое псевдо, но второй также дает мне первое вместо второго псевдо!

Код:

waiting = browser.find_elements_by_xpath("//div[@style='flex-direction: column; padding-bottom: 0px; padding-top: 0px;']/div[@role='button']")

for w in waiting:
    print(w.get_attribute('innerHTML'))
    print('Pseudo : ',w.find_element_by_xpath("//div[2]/div/a").text)

Что я получаю:

<div class="cek9Q">
    <div class="H59PT">
        <div class="RR-M- " role="button" tabindex="0">
            <canvas class="CfWVH" height="44" width="44" style="position: absolute; top: -5px; left: -5px; width: 44px; height: 44px;"></canvas>
            <a class="_2dbep qNELH kIKUG" href="/pseudo2/" style="width: 34px; height: 34px;"><img alt="pseudo1's profile picture" class="_6q-tv" src=""></a>
        </div>
    </div>
</div>
<div class="YFq-A">
    <div class="_7WumH"><a class="FPmhX notranslate  yrJyr" title="pseudo2" href="/pseudo1/">pseudo1</a><span class="_8g-5H">Pseudo1</span></div>
</div>
Pseudo : pseudo1


<div class="cek9Q">
    <div class="H59PT">
        <div class="RR-M- " role="button" tabindex="0">
            <canvas class="CfWVH" height="44" width="44" style="position: absolute; top: -5px; left: -5px; width: 44px; height: 44px;"></canvas>
            <a class="_2dbep qNELH kIKUG" href="/pseudo2/" style="width: 34px; height: 34px;"><img alt="pseudo2's profile picture" class="_6q-tv" src=""></a>
        </div>
    </div>
</div>
<div class="YFq-A">
    <div class="_7WumH"><a class="FPmhX notranslate  yrJyr" title="pseudo2" href="/pseudo2/">pseudo2</a><span class="_8g-5H">Pseudo2</span></div>
</div>
Pseudo : pseudo1  # This must be pseudo2 !!

Ты понимаешь, почему он дает мне псевдо1 вместо псевдо2 во втором случае? Я не могу отобразить весь свой код, но я напечатал отладку с get_attribute ('inner HTML'); Вы знаете, как я могу отладить по-другому? Спасибо!

1 Ответ

0 голосов
/ 28 марта 2020

Попробуйте с этим.

print('Pseudo : ',w.find_element_by_xpath(".//div[2]/div/a").text)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...