小编use*_*794的帖子

通过单击按钮刮取网页并导航

我想在服务器端执行以下操作:

1)刮取网页
2)模拟该页面上的点击,然后导航到新页面.
3)刮掉新页面
4)模拟新页面上的一些按钮点击
5)通过json或其他东西将数据发送回客户端

我正在考虑将它与Node.js一起使用.

但我很困惑我应该使用哪个模块
a)Zombie
b)Node.io
c)Phantomjs
d)JSDOM
e)其他

我已经安装了node,io但是无法通过命令提示符运行它.

PS:我在Windows 2008服务器上工作

node.js web-scraping zombie.js jsdom phantomjs

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

如何增加CasperJS中的超时

我在用waitFor().代码如下:

casper.waitFor(function check() {
    return this.evaluate(function() {
        return this.evaluate(someFunction, 'variable 1','variable 2','variable 3') === 'yes';
    });
}, function then() {
    console.log('Done');
});
Run Code Online (Sandbox Code Playgroud)

我把它作为控制台输出

Wait timeout of 5000ms expired, exiting.
Run Code Online (Sandbox Code Playgroud)

如何增加超时?

编辑:我已将代码更改为

 casper.waitFor(function check() {
        return this.evaluate(function() {
            return this.evaluate(someFunction, 'variable 1','variable 2','variable 3') === 'yes';
        });
    }, function then() {
        console.log('Done');
    },10000);
Run Code Online (Sandbox Code Playgroud)

它给了我以下错误:

CasperError: Invalid timeout function, exiting.
    C:/filename:1720 in _check
Run Code Online (Sandbox Code Playgroud)

javascript phantomjs casperjs

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

Android应用程序包在手机上安装在哪里

我在手机上安装了一个Android应用程序,我在java上创建了自己的应用程序.该应用程序已成功安装在设备上,但我无法找到已安装的软件包.

如何找到已安装应用程序的路径?

installation android path

27
推荐指数
3
解决办法
12万
查看次数

如何在casperJs中设置输入标记的值

我有输入元素如图所示:

<input type="text" class="bg-white" id="couponCode" value="">

如何使用casperJs设置/填充其值

web-scraping phantomjs casperjs

23
推荐指数
1
解决办法
2万
查看次数

如何通过填写CasperJs中的表单进行登录

以下是我拥有的登录表单的hlml

<div class="login_area_user">

            <form method="post" action="https://www.tradus.com/login?dest_url=https://www.tradus.com/cart/select-address" id="user-login">
            <input type="hidden" value="1" name="form_submit">

                <h3 style="display:inline-block;">Already a Member</h3>

                <p id="login-main-center-right-descp">You can use tradus login id and password</p>

                <div class="login-row">
                    <label class="colorBlack">Email / Login*</label>
                    <input class="login-field" type="text" name="name" id="edit-namepopup">
                </div> <!-- [/login-row] -->

                <div class="login-row">
                    <label>Password</label>
                    <input class="login-field" type="password" id="edit-passpopup" name="pass">
                </div> <!-- [/login-row] -->

                <div class="login-row">            
                    <a class="forgotPassword" href="/forgot_password">Forgot your password?</a>
                    <!--input type="checkbox" name="remember" /><span>Remember me</span-->
                </div>

                <div class="login-row">
                    <input class="login-button" value="Login" type="submit">
                </div>

                <input type="hidden" name="op" value="Log in">

            </form>

        </div>
Run Code Online (Sandbox Code Playgroud)

我使用以下代码登录:

this.fill('form#user-login', …
Run Code Online (Sandbox Code Playgroud)

javascript fill phantomjs casperjs

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

unrooted设备的Android应用程序的默认数据库位置是什么?是否与root用户相同?

我有一个非常具体的问题.

首先让我解释一下我想要做什么,然后解决问题.

基本上我要做的是将现有的.db数据库文件存储在assets文件夹中,然后在安装后我想将.db文件从资产复制到Android中的默认数据库位置.与此页面类似的答案[link] 如何在Android应用程序中使用现有数据库.

问题对于无根设备我无法访问/data/data/<<package name folder>>.在这种情况下,数据库文件存储在何处.在其他方面,我想将资产从资产复制到数据库的应用程序默认位置DB_PATH = "/data/data/" + context.getPackageName() + "/databases/",如果是root用户设备.对于无根设备是否相同?

installation android rooted-device installation-path

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

ZeroClipboard无法在移动版网站上运行

我在我们的网站上实现了ZeroClipboard功能 - http://couponvoodoo.com/rcp/Jabong.com/coupons-offers?field_offer_type_tid= 我使用的是Drupal-7

它在桌面版上运行良好,但不适用于该站点的移动版本.我在页脚中添加了以下代码:

<script type="text/javascript">
copy_coupon_footer();
function copy_coupon_footer(){
var divArray = document.getElementsByClassName("unlock_best_coupon");
for (var i = 0, len = divArray.length; i < len; ++i) {
var offer_type = divArray[i].getAttribute('data-clipboard-text');
// alert('offer_type '+offer_type );
try{
       var id = divArray[i].getAttribute( 'id' );
      var client = new ZeroClipboard( document.getElementById(id), {moviePath:'/moviePath' } ); 
      client.on( 'load', function(client) { 
       client.on( 'complete', function(client, args) {try{
      var url = this.getAttribute("href");
       var coupon_code = url.split('&c=')[1].split('&')[0];
       this.innerHTML = coupon_code;
       var classname = this.className+' copied_coupon';
       this.setAttribute("class",classname);
//     window.open(url,'_blank');
     window.location.href …
Run Code Online (Sandbox Code Playgroud)

javascript drupal footer zeroclipboard

5
推荐指数
1
解决办法
1686
查看次数

如果满足条件,则终止Scrapy

我在python中使用scrapy编写了一个刮刀.它包含100个start_urls.

我想在条件满足后终止刮擦过程.即找到终止特定div的刮擦.终止我的意思是它应该停止刮掉所有网址.

可能吗

python scrapy

5
推荐指数
1
解决办法
1665
查看次数

检查php中是否有特定的JSON对象可用

我有以下JSON:

$p={
  "main1" : [
    {
      "child1" : valueA,
      "child2" : valueB,
      "child3" : valueC,
    },
    {
      "child1" : value1,
      "child3" : value3,
    },
  ],
  "main2" : "valueMain2"
}
Run Code Online (Sandbox Code Playgroud)

child2必须检查该元素是否存在,然后获取该值.我正在使用json_decode:

$response = json_decode($p,true);
Run Code Online (Sandbox Code Playgroud)

如何检查PHP中是否存在元素?我是否必须制作单独的功能或是否有内置功能?

php json

4
推荐指数
1
解决办法
7972
查看次数

在python scrapy中选择具有特定id patern的所有元素

我正在使用scrapy来抓一个网站.我想选择id为"result_%s"形式的所有元素,其中%s是任何整数.

sites.select('//*[@id="result_1"]')
Run Code Online (Sandbox Code Playgroud)

如何实现

python scrapy python-2.7

4
推荐指数
1
解决办法
4711
查看次数

如何在Anchot标记(<a>)中执行onClick和href

我有如下链接:

<a href="www.google.com" onClick="someFunction()">Click me</a>
Run Code Online (Sandbox Code Playgroud)

点击链接后,它正在执行JavaScript函数,但没有将我带到href链接.

任何想法如何实现相同?

html javascript anchor onclick

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

如何调试casperJS中的javascript函数

如何evaluate在CasperJS中调试javascript函数(使用)?

这里有什么类似的东西alert()可以在需要时在命令行上打印值吗?

javascript debugging phantomjs casperjs

0
推荐指数
1
解决办法
3225
查看次数