当我加载一个网站时,它的标题会持续一秒钟“正在加载...”,直到它更改为通过 javascript 获取的不同标题。在 python 中,我试图获取生成的标题。
我尝试过使用 selenium 和 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 的支持已被弃用,所以我不确定还能做什么,或者是否有更简单的方法来获得我需要的结果。
最佳答案
使用 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)
我的 python 生锈了,但这应该很接近。
关于python - 尝试获取通过javascript生成的网站的标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55405350/