python+selenium问题随记
1、用PhantomJS跑程序,莫名遇到有些元素的text不能读取,后来发现,PhantomJS运行时也需要最大化,不是全屏模式的话也和界面浏览器一样会造成压盖无法读取信息,开始以为是PhantomJS不好用,现在看来它还是比较稳定的无界面浏览器
2、发现了使Chrome浏览器无界面运行的工具,pyvirtuldisplay,其需要安装依赖包xvfb,几经折腾之后发现xvfb没有windows的版本。。。。,不过记录一下以后可能用得到
3、selenium解决js生成的选项卡切换问题,有一些元素分布于页面的不同的选项卡中,而写程序点击切换选项卡也比较麻烦,这时不妨研究一下其切换js代码,一般情况下都是由,display:block(none)来控制的,所以,只要执行相应的js代码,让其直接显示出来即可,多个元素循环赋值的代码如下:
js_display = """
var allul = document.querySelectorAll("ul")
for(i=0;i<allul.length;i++){
allul[i].style.display="block";
};
"""
driver.execute_script(js_display)
以后此类问题又多了一种解决思路,selenium难以办到的事就让js去做吧