Как мне найти этот промежуток с селеном в python? - PullRequest
0 голосов
/ 19 января 2020

Просто интересно, как получить текст span из этого div при использовании селена в python.

<div class="clsFrameworkElement" 
id="ManagedQuestionViewer.brdrQuestion1.QuestionRenderer.MultiChoiceQuestionViewer.sp.StackPanel.RadioTextRegionViewer2.LayoutRoot.Panel.text.sp.rich.LayoutRoot.TextBlock" style="overflow: visible; display: inherit; text-shadow: white 0px 1px; left: 46px; top: 105px; border-width: 0px; width: 186px; height: 15px; text-align: left; color: rgb(0, 0, 0); font-family: Tahoma; font-weight: normal; font-size: 9.6pt; text-overflow: clip; overflow-wrap: break-word; white-space: normal; user-select: none;">
<span style="">Get a non-disclosure agreement.</span>
</div>

Спасибо.

1 Ответ

0 голосов
/ 19 января 2020

Вы можете использовать xpath для получения элемента span.

Пожалуйста, посмотрите ниже фрагмент:

from selenium import webdriver

driver =  webdriver.Chrome()
html_content = """
<html>
     <head></head>
     <body>
         <div class="clsFrameworkElement" id="ManagedQuestionViewer.brdrQuestion1.QuestionRenderer.MultiChoiceQuestionViewer.sp.StackPanel.RadioTextRegionViewer2.LayoutRoot.Panel.text.sp.rich.LayoutRoot.TextBlock" style="overflow: visible; display: inherit; text-shadow: white 0px 1px; left: 46px; top: 105px; border-width: 0px; width: 186px; height: 15px; text-align: left; color: rgb(0, 0, 0); font-family: Tahoma; font-weight: normal; font-size: 9.6pt; text-overflow: clip; overflow-wrap: break-word; white-space: normal; user-select: none;">
            <span style="">Get a non-disclosure agreement.</span>
        </div>
     </body>
</html>
"""

driver.get("data:text/html;charset=utf-8,{html_content}".format(html_content=html_content))

node = driver.find_element_by_xpath("//div[@class='clsFrameworkElement']/span")
print(node.text)

Это напечатает:

Get a non-disclosure agreement.

Вы можете прочитать больше о xpath здесь: https://selenium-python.readthedocs.io/locating-elements.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...