Попытка получить заголовок веб-сайта, созданного с помощью JavaScript - PullRequest
1 голос
/ 28 марта 2019

Когда я загружаю веб-сайт, его заголовок «Загружается ...» на секунду, пока он не изменится на другой заголовок, полученный с помощью javascript.В Python я пытаюсь получить сгенерированный заголовок.

Я пытался использовать селен и PhantomJS, но я столкнулся с рядом проблем.

from selenium import webdriver
driver = webdriver.PhantomJS(executable_path='/usr/local/lib/phantoms/bin/phantomjs')
driver.get(www.google.com)
p_element = driver.find_element_by_id(id='intro-text')
print(p_element.text)

Это говорит о том, чтоподдержка PhantomJS устарела, поэтому я не уверен, что еще делать, или есть более простой способ получить нужный мне результат.

Ответы [ 2 ]

1 голос
/ 28 марта 2019

Используйте что-то вроде Firefox или Chrome, а затем используйте свойство title драйвера

from selenium import webdriver
driver = webdriver.Firefox()
driver.get("https://www.google.com")
print(driver.title)

Если заголовок кратко показывает «Загрузка ...», то вы можете циклически получать заголовок, пока он больше не показывает"Загрузка ...."

from selenium import webdriver
driver = webdriver.Firefox()
driver.get("https://www.google.com")
while driver.title == 'Loading...':  //Should loop here until title changes
     pass
print(driver.title)

Мой питон ржавый, но это должно быть близко.

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

Вы можете использовать ожидание, некоторые примеры здесь https://www.toolsqa.com/selenium-webdriver/wait-commands/

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