在 Python 中,当在本地 Chrome 浏览器中使用本地 chromedriver 时,我可以轻松地将浏览器“navigator.webdriver”属性更改为 false。
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument("--disable-blink-features=AutomationControlled")
driver = webdriver.Chrome(chrome_options=options)
driver.get([some url])
Run Code Online (Sandbox Code Playgroud)
完成上述操作后,在Chrome浏览器控制台中,navigator.webdriver会显示“false”。
但我不知道如何将上面的内容翻译成Perl。以下代码仍会将 navigator.webdriver 保留为“true”。那么如何在 Perl 中实现上面的 Python 代码呢?是否可能(理想情况下不使用远程独立硒服务器)?
use strict;
use warnings;
use Selenium::Chrome;
my $driver = Selenium::Chrome->new(
custom_args => '--disable-blink-features=AutomationControlled' );
$driver->get([some url]);
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激!
如何使以下代码生效?
use strict;
use warnings;
if ($^O eq 'MSWin32' || $^O eq 'MSWin64') {
use Win32;
Win32::MsgBox("Aloha!", MB_ICONINFORMATION, 'Win32 Msgbox');
}
else {
print "Do not know how to do msgbox under UNIX!\n";
}
Run Code Online (Sandbox Code Playgroud)
以上在Windows下运行.但是在UNIX下,由于找不到Win32,因此存在编译错误.用"require"替换"use"会使事情变得更糟 - 代码无法在Windows和UNIX下编译,因为包含MB_ICONINFORMATION的行总是被编译而"MB_ICONINFORMATION"将是未声明的单词.
那么我该如何解决这个问题呢?