我试图在&#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
答案 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
。但这最终并不是阻塞问题。