使用selenium更改图表属性

时间:2014-11-06 23:48:55

标签: javascript python python-2.7 selenium selenium-webdriver

我正在检索以下网址的来源:http://www.google.com/finance?q=EPA:RNO 使用urllib2。

问题是图表的默认设置会排除一些要放在页面源中的数据。因此,在检索源代码之前,我需要与页面进行交互。

使用默认设置时,如果您看到此行

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

你有

_chartConfigObject.defaultInterval = '86400';

我需要将其变为

_chartConfigObject.defaultInterval = '1800';

我可以使用Selenium吗?还有另一种方法,即使用浏览器cookie中保存的默认设置在检索网址源之前自动设置正确的间隔时间吗?

1 个答案:

答案 0 :(得分:0)

有一个相关的网址参数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

我是如何获得此网址的?我只需设置所需的图表设置,然后点击&#34;链接到此视图&#34;生成URL的按钮。

您可以使用selenium并控制图表设置,例如:

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')