小编Ari*_*e82的帖子

如何以编程方式停止在Firefox中加载页面?

我正在使用WebDriver和Firefox运行几个测试.

我遇到以下命令的问题:

WebDriver.get(www.google.com);

使用此命令,WebDriver将阻塞,直到触发onload事件.虽然这通常需要几秒钟,但在从未完成加载的网站上可能需要数小时.

我想做的是在一定的超时后停止加载页面,以某种方式模拟Firefox的停止按钮.

我每次尝试加载页面时都首先尝试执行以下JS代码:

var loadTimeout=setTimeout(\"window.stop();\", 10000);
Run Code Online (Sandbox Code Playgroud)

不幸的是,这不起作用,可能是因为:

由于脚本的加载顺序,stop()方法无法停止加载脚本1所包含的文档

更新1:我尝试使用SquidProxy来添加连接和请求超时,但问题仍然存在.

我今天发现的一个奇怪的事情是,我的机器上永远不会停止加载的一个网站(FF3.6 - 4.0和Mac Os 10.6.7)正常加载到其他浏览器和/或计算机上.

更新2:显然可以通过告诉Firefox不加载图像来解决问题.希望在此之后一切都会奏效......

我希望WebDriver有一个更好的Chrome驱动程序才能使用它.Firefox每天让我失望!

更新3:Selenium 2.9添加了一项新功能来处理驱动程序似乎挂起的情况.这可以使用FirefoxProfile如下:

FirefoxProfile firefoxProfile = new ProfilesIni().getProfile("web");
firefoxProfile.setPreference("webdriver.load.strategy", "fast");
Run Code Online (Sandbox Code Playgroud)

我会在尝试之后发布这是否有效.

更新4:最后,上述方法均无效.我最终"杀死"了很长时间才完成的线程.我正在尝试使用Ghostdriver,这是一个使用PhantomJS作为后端的远程WebDriver.PhantomJS是一个无头的WebKit脚本,所以我希望不会出现像Firefox这样的真正浏览器的问题.对于没有义务使用firefox(爬行目的)的人,我将更新结果

更新5:更新的时间.使用5个月的ghostdriver 1.1而不是FirefoxDriver,我可以说我对他的性能和稳定性非常满意.我遇到了一些我们没有适当行为但看起来像一般ghostdriver足够稳定的情况.因此,如果您需要像我这样的浏览器来进行爬行/网页抓取,我建议您使用ghostdriver而不是firefox和xvfb,这会给您带来几个令人头疼的问题......

firefox selenium web-crawler ghostdriver

16
推荐指数
2
解决办法
3万
查看次数

如何升级/更新Solr-Jetty ubuntu软件包?

我使用Solr作为我的前端webapp,为了在Ubuntu 10.04中安装它,我做了一个简单的apt-get solr-jetty,一切都很好.

现在的问题是我需要在Solr的最新版本中存在Solr的一些新功能,但是ubuntu包中的Solr版本仍然是1.4!

我的问题是如何将Solr版本升级到最新版本?有人可以给我一些提示我怎么能这样做?

编辑:或者可以如何使用Jetty彻底安装Solr ..

编辑:最后在我的VPS中使用已安装的Jetty安装Solr并不是那么困难.如果有人发现它有用,我按照下面的步骤:

  1. 将solr.war文件放在jetty的webapps文件夹中的Dist文件夹中
  2. 将example/solr文件夹作为Solr主文件夹放入我机器的/ var/share/solr文件夹中
  3. 根据我的需要编辑了solrconfig.xml和schema.xml
  4. 最后,为了让Jetty知道Solr Home Dir在哪里,我将Jetty文件编辑到/ etc/default目录中,取消注释JAVA_OPTIONS var并添加以下选项:JAVA_OPTIONS =" - Dsolr.solr.home =/var /分享/ solr $ JAVA_OPTIONS"

就是这样.我不确定最后一步,如果它是最好的方法,但是因为Solr正在工作,应该是正确的方法(solr文档说了一些关于JNDI查找,但我没有设法找到它).

干杯

更新:在digitalocean中使用小型ubuntu机器我发现这篇非常有用的文章介绍了如何在ubuntu中安装最新的solr版本.免责声明:我没有工作或与digitalocean有任何关系..

ubuntu solr jetty

7
推荐指数
1
解决办法
4131
查看次数

如何使用Spring Boot设置ElasticSearch的数据目录

我的问题类似于[1] 我有一个spring boot appplication,我在elasticsearch中保存了一些文档.每次在当前目录中的数据目录中创建索引.我想将此默认路径更改为给定的路径.我怎样才能做到这一点?这么简单的任务需要几个小时才能找到它.

我尝试了很多东西:

  1. @Setting(setting="/data/elasticsearch")
  2. 在elasticseacrh.properties和application.properties文件中:
    1. path.data
    2. spring.data.elasticsearch.path.data

没有运气.

elasticsearch spring-boot

6
推荐指数
1
解决办法
3246
查看次数

以编程方式将SetEnvironmentProperty设置为ChromeDriver

我在无头环境(Xvfb)中运行SE2和firefoxDriver测试.使用FirefoxDriver,我可以非常轻松地设置DISPLAY环境属性​​:

     FirefoxBinary firefox = new FirefoxBinary(); 
     firefox.setEnvironmentProperty("DISPLAY",":"+DISPLAY); 
     FirefoxProfile firefoxProfile = new ProfilesIni().getProfile(Config.webDriverFirefoxProfile); 
     this.webDriver = new FirefoxDriver(firefox,firefoxProfile); 
Run Code Online (Sandbox Code Playgroud)

如何使用ChromeDriver完成上述操作?

更新:似乎这还不可能!我这里有一个类似的问题可以解释这种情况:ChromeDriver Headless

google-chrome webdriver xvfb selenium-webdriver

3
推荐指数
1
解决办法
4910
查看次数