又到了周四,交笔记的时候了。今天聊的话题是近期遇到的selenium截图的问题。
话不多说,简单描述下遇到的问题:
近期遇到原先截取grafana的图的代码失效了,截的图依旧在登录页面。debug的时候发现用户名和密码都输入正常,而且也看到了提交按钮的触发,但是停顿几秒后,页面闪了下,还是停留在登录页面,并且数值清空了。
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
driver = webdriver.Remote(command_executor=seleniumhub, desired_capabilities=DesiredCapabilities.CHROME)
driver.get(url)
driver.find_element_by_name("user").send_keys(username)
driver.find_element_by_name("password").send_keys(password)
driver.find_element_by_xpath(".//*[@type='submit']").click()
sleep(3)
print(driver.current_url)
这部分代码在本地的chrome是没有问题的,能够输入用户名密码,然后点击跳转到正确的页面。但是远程的近期失效了。
然后联想到最近做的改动就是grafana升了一次级。爬楼发现
image.png
https://grafana.com/docs/grafana/latest/installation/upgrading/#upgrading-to-v6-6
安全级别提高了,防止XSS攻击。这就很难受了。那么还有其他方法来处理吗?有的,grafana也提供了api的方式去获取panel的值。点击panel-edit-share,出现如下页面。拷贝图中的link,然后通过curl发送请求,就可以拿到对应的图了。








网友评论