小编Ale*_*lex的帖子

Selenium:在加载/执行页面的任何其他脚本之前,如何在页面中注入/执行Javascript?

我正在使用selenium python webdriver来浏览一些页面.我想在加载和执行任何其他Javascript代码之前将javascript代码注入页面.另一方面,我需要将我的JS代码作为该页面的第一个JS代码来执行.有没有办法通过Selenium做到这一点?

我用谷歌搜索了几个小时,但我找不到任何正确的答案!

javascript python selenium javascript-injection

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

假导航属性

我想假冒CasperJS(/ PhantomJS)的Navigator平台属性.我找到了在页面加载时覆盖Navigator对象的简单解决方案,这在Web上的许多其他地方都是建议的:

    casper.on('page.initialized', function(){
    this.evaluate(function(){
        (function(oldNav){
            var newNav = {};
            [].forEach.call(Object.getOwnPropertyNames(navigator), function(prop){
                 if (prop === 'platform') {
                    Object.defineProperty(newNav, prop, {
                        value: 'Win64'
                    }); }else {
                    Object.defineProperty(newNav, prop, {
                        get: function(){
                            return oldNav[prop];
                        }
                    });
                }
            });
            window.navigator = newNav;
        })(window.navigator);
    });
});
Run Code Online (Sandbox Code Playgroud)

但问题是,如果我们从Iframe获取Navigator属性,则值仍然是原始值,因为page.initialized仅将其设置为主页面.所以我选择在源代码中更改它并再次构建它.我从git repo下载了Phantomjs,我搜索了一个硬编码的平台值(对于我的情况,Linux x86_64).我找到了硬编码的字符串./phantomjs/src/qt/qtwebkit/Source/WebCore/platform/qt/UserAgentQt.cpp

我把它改成了我想要作为navigator.platform返回的字符串,但它没有影响navigator.platform.我应该在哪里改变它?它(平台)是一个带编码的字符串还是动态创建的?

javascript overwrite navigator phantomjs casperjs

19
推荐指数
1
解决办法
1029
查看次数

R:绘制 data.frame 中所有列的直方图

我是 R 的新用户,我刚刚开始使用它来查看我的数据的分布,但我遇到了这个错误。我有一个数据框,我想绘制它的数字列的直方图。所以我所做的是如下:

num_data <-my_data[, sapply(my_data, is.numeric)] 
for (i in 1:length(names(num_data))){
  print(i)
  hist( num_data[i], main='hist', breaks=20, prob=TRUE)
}
Run Code Online (Sandbox Code Playgroud)

但是我收到错误“hist.default(num_data[i], main = "hist",breaks = 20, prob = TRUE) 错误:'x' must be numeric ' 我检查了 num_data[i] 的类型和它是一个数值列表。所以我不知道是什么问题。任何人都可以给我提示吗?

r numeric histogram dataframe

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

Android:我应该在哪里查找证书吊销列表?

我想获取在Android设备上下载的所有已撤销证书列表的列表?我知道这个类允许你检查证书是否被撤销,但我想得到撤销证书的完整列表.可能吗?Android存储这样的列表还是使用OCSP来检查证书?

android certificate-revocation

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

如何使用Python下载文件?

我对 Python 完全陌生,我想通过向服务器发送请求来下载文件。当我在浏览器中输入它时,我看到 CSV 文件已下载,但是当我尝试发送 get 请求时,它没有返回任何内容。例如:

import urllib2
response = urllib2.urlopen('https://publicwww.com/websites/%22google.com%22/?export=csv')
data = response.read()
print 'data: ',  data
Run Code Online (Sandbox Code Playgroud)

它没有显示任何内容,我该如何处理?当我在网上搜索时,所有的问题都是关于如何发送一个 get 请求。我可以发送 get 请求,但我不知道如何下载文件,因为它不在请求的响应中。

我不知道如何找到解决方案。

python get download

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

Github Branch,标签:如何获取代码的特定版本?

我是Git hub的新手,我对标签和分支的概念感到困惑(这里解释)我想从git hub获得一个稳定版的PhantomJS(版本2.1.0).但我不明白我是否应该这样做:

git checkout master
git remote add upstream https://github.com/ariya/phantomjs.git
git fetch upstream
git rebase --onto tags/2.1.0 upstream/master master
Run Code Online (Sandbox Code Playgroud)

要么

git init
git remote add -t 2.1 -f origin https://github.com/ariya/phantomjs.git
git checkout 2.1
Run Code Online (Sandbox Code Playgroud)

你能解释一下,为什么?

git github git-tag git-branch

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

在隐身模式下打开 chrome 并访问 Android 设备中的 URL

我想在真实的 Android 设备中以隐身模式打开浏览器,然后访问一个 URL。我发现了这个问题,它询问如何使用 ADB 进行操作,但它似乎不受支持。另一个问题问如何用 Appium 做同样的事情,人们再次说这是不可能的。我找不到任何其他方法来做到这一点,这是否意味着我们无法以编程方式在真实的 Android 设备中以隐身模式打开浏览器?这是非常不幸的!

browser android adb incognito-mode appium

5
推荐指数
0
解决办法
755
查看次数

Javascript:以编程方式触发 onbeforeunload/onunload 事件

如何以编程方式触发 onbeforeunload 和 onunload 事件?(请不要使用 jquery)。我试过了:

var event = new Event('onbeforeunload');
event.initEvent("onbeforeunload", true, true);
window.document.dispatchEvent(event);
Run Code Online (Sandbox Code Playgroud)

javascript events onbeforeunload

4
推荐指数
2
解决办法
7515
查看次数

TcpDump:显示pcap文件的绝对时间戳(日期和时间)

我想使用tcpdump查看pcap文件中数据包的绝对时间戳。当我使用命令tcpdump -r mypcapfiile时,它仅显示时间,  

03:21:14.804778 IP static.vnpt.vn.51193 > 192.168.0.146.smtp
Run Code Online (Sandbox Code Playgroud)

如何读取日期呢?

timestamp tcpdump pcap

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

Python:字符串中的双向替换.

我想用双引号替换所有单引号,反之亦然.因此,例如将此字符串更改"1": " 'me' and 'you'"'1': '"me" and "you"',我该怎么做?如果我这样做,mystering.replace('"', "'")那么将被转换为'然后如果我反过来mystering.replace( "'", '"'),所有将转换为".

python regex string

-1
推荐指数
1
解决办法
72
查看次数