BeautifulSoup:在元素中寻找元素

时间:2016-10-26 13:39:22

标签: python web web-scraping beautifulsoup

我试图在&#34; a&#34;下面的网站上找到一系列游戏。类别。我可以找到<div class="container-fluid"> <div class="row block-hero"> <img src="https:/placehold.it/600x450" alt="imgHero.alt" class="block-hero-img" /> <div class="container"> <div class="row"> <div class="col-md-8 col-sm-12"> <h1 class="block-hero-headline">My Heading</h1> <a href="#" class="btn mybutton">My button</a> </div> </div> </div> </div> </div> div属性值&#34; letter-a&#34;但无论我尝试采用何种模式,都不能直接使用id元素。

li

enter image description here

1 个答案:

答案 0 :(得分:3)

您可以通过使用Selenium控制浏览器来刮取由JS修改的DOM。要使用Selenium,您可以这样做:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Firefox()
driver.get("http://www.xbox.com/en-US/xbox-one/backward-compatibility/available-games")

elem = driver.find_element_by_css_selector("#letter-a")
print elem.get_attribute('innerHTML')
driver.close()

您还可以使用Selenium控制其他浏览器,包括无头浏览器(在后台运行的浏览器,无需打开窗口),如PhantomJS。

之前我注意到HTML格式不正确 - 您不应该在div内直接使用ul。但这最终并不是阻塞问题。