如何在 Perl 中为 Selenium::Chrome 设置 ChromeOptions(或 goog:ChromeOptions)
How To Set ChromeOptions (or goog:ChromeOptions) for Selenium::Chrome in Perl
在 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])
在上面之后,在Chrome浏览器控制台中,navigator.webdriver会显示“false”。
但我不知道如何将以上内容翻译成 Perl。以下代码仍会将 navigator.webdriver 保留为“true”。那么如何在 Perl 中实现上面的 Python 代码呢?是否可能(理想情况下不使用远程独立 selenium 服务器)?
use strict;
use warnings;
use Selenium::Chrome;
my $driver = Selenium::Chrome->new(
custom_args => '--disable-blink-features=AutomationControlled' );
$driver->get([some url]);
如有任何帮助,我们将不胜感激!
需要使用 extra_capabilities
和 goog:chromeOptions
my $drv = Selenium::Chrome->new(
'extra_capabilities' => {
'goog:chromeOptions' => {
prefs => { ... },
args => [
'window-position=960,10', 'window-size=950,1180', # etc
'disable-blink-features=AutomationControlled'
]
}
}
);
(我不知道 disable-blink-features
与“navigator.webdriver”有什么关系)
有关构造函数中可用的属性列表以及 extra_capabilities
,请参阅 Selenium::Remote::Driver, from which Selenium::Chrome inherits。
有关 Chrome-specific 功能,请参阅 "Recognized capabilities" in chromedriver, and more generally see Selenium documentation and W3C WebDriver standard。 †
† 具体来说
WebDriver Capabilities 在 Selenium 文档中,
WebDriver 标准中的 -
在 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])
在上面之后,在Chrome浏览器控制台中,navigator.webdriver会显示“false”。
但我不知道如何将以上内容翻译成 Perl。以下代码仍会将 navigator.webdriver 保留为“true”。那么如何在 Perl 中实现上面的 Python 代码呢?是否可能(理想情况下不使用远程独立 selenium 服务器)?
use strict;
use warnings;
use Selenium::Chrome;
my $driver = Selenium::Chrome->new(
custom_args => '--disable-blink-features=AutomationControlled' );
$driver->get([some url]);
如有任何帮助,我们将不胜感激!
需要使用 extra_capabilities
和 goog:chromeOptions
my $drv = Selenium::Chrome->new(
'extra_capabilities' => {
'goog:chromeOptions' => {
prefs => { ... },
args => [
'window-position=960,10', 'window-size=950,1180', # etc
'disable-blink-features=AutomationControlled'
]
}
}
);
(我不知道 disable-blink-features
与“navigator.webdriver”有什么关系)
有关构造函数中可用的属性列表以及 extra_capabilities
,请参阅 Selenium::Remote::Driver, from which Selenium::Chrome inherits。
有关 Chrome-specific 功能,请参阅 "Recognized capabilities" in chromedriver, and more generally see Selenium documentation and W3C WebDriver standard。 †
† 具体来说
WebDriver Capabilities 在 Selenium 文档中,
WebDriver 标准中的