对于Mac用户
cdc_
使用Vim或Perl 替换变量
您可以使用
vim,或如@Vic Seedoubleyew在@ Erti-Chris
Eelmaa的答案中指出的那样
perl,替换中的
cdc_变量
chromedriver。使用
vim或
perl防止您不得不重新编译源代码或使用十六进制编辑器。
chromedriver在尝试编辑原件之前,请确保对其进行复印。另外,以下方法也在上进行了测试
chromedriverversion 2.41.578706。
使用Vim
vim /path/to/chromedriver
在上面的行之后,您可能会看到一堆乱码。请执行下列操作:
cdc_
通过键入/cdc_
并按进行搜索return
。- 按启用编辑
a
。 - 删除任意数量的,
$cdc_lasutopfhvcZLmcfl
然后用相等数量的字符替换删除的内容。如果您不这样做,chromedriver
将会失败。 - 完成编辑后,按
esc
。 - 要保存更改并退出,请键入
:wq!
并按return
。 - 如果您不想保存更改,但要退出,请键入
:q!
并按return
。 - 你完成了。
转到更改后的
chromedriver双击。
terminal应打开一个窗口。如果
killed在输出中看不到,则说明您成功更改了驱动程序。
使用Perl
下面的行替换
cdc_为
dog_:
perl -pi -e 's/cdc_/dog_/g' /path/to/chromedriver
确保替换字符串与搜索字符串具有相同数量的字符,否则
chromedriver将失败。
Perl说明
s///g表示您要搜索一个字符串并将其全局替换为另一个字符串(替换所有出现的字符串)。
例如,
s/string/replacment/g
所以,
s///表示搜索并替换字符串。cdc_是搜索字符串。dog_是替换字符串。g是全局键,它将替换每次出现的字符串。
如何检查Perl替代品是否有效
以下行将打印每次出现的搜索字符串
cdc_:
perl -ne 'while(/cdc_/g){print "$&n";}' /path/to/chromedriver
如果没有返回任何内容,
cdc_则已被替换。
相反,您可以使用以下代码:
perl -ne 'while(/dog_/g){print "$&n";}' /path/to/chromedriver
查看替换字符串,
dog_现在是否在
chromedriver二进制文件中。如果是这样,替换字符串将被打印到控制台。
转到更改后的
chromedriver双击。
terminal应打开一个窗口。如果
killed在输出中看不到,则说明您成功更改了驱动程序。
包起来
更改
chromedriver二进制文件后,请确保更改后的二进制文件的名称
chromedriver为
chromedriver,并且原始二进制文件已从其原始位置移动或已重命名。
我对这种方法的经验
以前我在尝试登录时在网站上被检测到我,但是用
cdc_相同大小的字符串替换后,我得以登录。但是就像其他人所说的那样,如果已经被检测到,则可能会被阻止即使使用此方法后,还有其他原因。因此,您可能必须尝试使用VPN,其他网络或具有什么功能的站点访问检测到您的站点。