2014-11-06 34 views
2

我正在檢索以下url的源代碼:http://www.google.com/finance?q=EPA:RNO using urllib2。使用硒更改圖表屬性

問題是圖表的默認設置會排除某些要放置在頁面源中的數據。因此,我需要在檢索源代碼之前與頁面進行交互。

在默認設置下,如果你看一下這條線

<span class=settings-link>Settings</span> 

下面你有

_chartConfigObject.defaultInterval = '86400'; 

我需要恰克這

_chartConfigObject.defaultInterval = '1800'; 

我能做到這一點使用硒?還有另一種方法,即使用保存在我的瀏覽器cookie中的默認設置在檢索url源之前自動設置正確的時間間隔?

回答

0

有控制的使用間隔了相關的URL參數chddi

https://www.google.com/finance?chdnp=1&chdd=1&chds=1&chdv=1&chvs=Linear&chdeh=0&chfdeh=0&chdet=1415318689290&chddm=5210&chddi=1800&chls=CandleStick&q=EPA:RNO&ntsp=0&ei=hgxcVIDZDIuMqQHDmYDoCg 

我怎麼有了這個網址?我剛剛設置了所需的圖表設置,然後點擊生成該URL的「鏈接到此視圖」按鈕。

您可以利用雖然硒和控制圖表設置,例如:

from selenium import webdriver 
from selenium.webdriver.support.select import Select 


url = 'http://www.google.com/finance?q=EPA:RNO' 
driver = webdriver.Firefox() 
driver.get(url) 

settings = driver.find_element_by_class_name('settings-link') 
settings.click() 

candlestick = driver.find_element_by_xpath('//input[@value="CandleStick"]') 
candlestick.click() 

select = Select(driver.find_element_by_name('defaultInterval')) 
select.select_by_value('1800')