Selenium Python получает информацию о тегах <script>? - PullRequest
0 голосов
/ 18 мая 2018

Я пытаюсь взять информацию внутри тега.

<script type="text/javascript"> INFO </script>

Более конкретно:

<!DOCTYPE html>
<html lang="en" class="js logged-in client-root">
<head>...</head>
<body class style ="position: fixed; top: -265px; width: 100%;">
  <span id="react-root" aria-hidden="true">...</span>
  <script type="text/javascript> This is the tag i want. </script>
  <script type="text/javascript> 
     window.__initialDataLoaded(window._sharedData); </script>
...

Я пытаюсь это сделать, но не повезло:

browser = webdriver.Chrome()
info = browser.find_element_by_xpath("//script[@type='text/javascript']")
print(info.text) //prints nothing

1 Ответ

0 голосов
/ 18 мая 2018

Похоже, это ожидаемое поведение.См. здесь :

Это работает правильно.WebElement#getText возвращает текст видимый , который может видеть пользователь.Пользователь не может видеть текст в теге <script>, поэтому он не возвращается getText.Вы все еще можете получить доступ к содержимому тега через JavaScript

Так что вам придется сделать что-то вроде этого:

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