如何用Selenium刮掉动态内容?

时间:2016-05-18 15:50:25

标签: python selenium scrapy

我想榨取一些利率。我需要使用Selenium来访问动态加载的内容。对于Selenium部分,以下工作正常:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from scrapy.selector import Selector

chromedriver = "/usr/local/bin/chromedriver"
driver = webdriver.Chrome(chromedriver)

driver.get("http://www.infochoice.com.au/banking/savings-account/term-deposit-interest-rates.aspx")
driver.find_element_by_xpath("//select[@name='SavingsTerm']/option[text()='7 days']").click()

现在我想解析html内容以使用类似的东西来获取利率:

xpath("//*[@id='IC_ProductList107Rate']/table/tbody/tr[5]/td/text()").extract()

这应该很容易,但我是Python的新手,到目前为止还无法找到合适的程序。

如何实施?

1 个答案:

答案 0 :(得分:2)

我不知道我是否理解得很好,但你可以试试这个:

driver.find_element_by_xpath("//*[@id='IC_ProductList107Rate']/table/tbody/tr[5]/td/text()").text

driver.find_element_by_xpath("//*[@id='IC_ProductList107Rate']/table/tbody/tr[5]/td/text()").get_attribute(element_attribute_value)

element_attribute_value可以是'value','text'等...取决于您在HTML代码中包含哪些属性