使用selenium更改图表属性

2024-10-02 18:23:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在检索以下url的源:http://www.google.com/finance?q=EPA:RNO 使用urllib2。你知道吗

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

使用默认设置,如果你看这行下面

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

你有

_chartConfigObject.defaultInterval = '86400';

我要把这个改成

_chartConfigObject.defaultInterval = '1800';

我可以用硒吗?是否有其他方法,即使用保存在浏览器cookie中的默认设置在检索url源之前自动设置正确的间隔?你知道吗


Tags: 数据comhttpurlwwwgoogle图表页面
1条回答
网友
1楼 · 发布于 2024-10-02 18:23:41

有一个相关的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的“链接到此视图”按钮。你知道吗

您可以利用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')

相关问题 更多 >