我正在尝试从我的office环境中运行一个基本的selenium脚本,它有一个代理和防火墙设置。该脚本运行良好,除非在每次执行之前,它都会弹出一个弹出,说明“管理员禁用了解压缩扩展的加载”。这意味着我必须手动单击它才能继续,这违背了自动化的目的。
我搜索并堆叠了错误,看起来有一个铬选项useAutomationExtension需要禁用。我继续为Python搜索正确的语法(环境:Python2.7-Win 32,运行chrome驱动程序2.30.477700(0057494ad8732195794a7b32078424f92a5fce41)),但找不到合适的chrome /选项。
我还查看了以下内容: google:switches.cc中的铬/铬开关,以及Peter列出的色开关列表:https://peter.sh/experiments/chromium-command-line-switches/
我模糊地尝试了chrome_options.add_argument('--disable-useAutomationExtension'),但这也没有帮助。
所以,我需要你的指导和建议。请帮帮忙。
Code_part:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException
from selenium.common.exceptions import NoAlertPresentException
import unittest, time, re, os
from selenium.webdriver.chrome.options import Options
class Sel(unittest.TestCase):
def setUp(self):
# self.driver = webdriver.Firefox()
# Clean existing file before starting
#############################################
dlpath = "C:\Users\Baba\blacksheep_tracker.xlsm"
if os.path.exists(dlpath):
os.remove(dlpath)
############################################
chrome_options = Options()
chrome_options.add_argument("--cipher-suite-blacklist=0x0039,0x0033")
chrome_options.add_argument("--disable-extensions")
chrome_options.add_argument('--start-maximized')
chrome_options.add_argument('--disable-useAutomationExtension')
self.driver = webdriver.Chrome(chrome_options=chrome_options)
self.driver.implicitly_wait(30)
self.base_url = "https://monsanto365.sharepoint.com/teams/XYZ_Tracker.xlsm"
self.verificationErrors = []
self.accept_next_alert = True
def test_sel(self):
driver = self.driver
## Launch the download url and wait for the download to complete
driver.get("https://monsanto365.sharepoint.com/teams/xyz_tracker.xlsm")
print 'Loading complete'
time.sleep(30)
print '30 sec over'
def is_element_present(self, how, what):
try:
self.driver.find_element(by=how, value=what)
except NoSuchElementException, e:
return False
return True
def is_alert_present(self):
try:
self.driver.switch_to_alert()
except NoAlertPresentException, e:
return False
return True
def close_alert_and_get_its_text(self):
try:
alert = self.driver.switch_to_alert()
alert_text = alert.text
if self.accept_next_alert:
alert.accept()
else:
alert.dismiss()
return alert_text
finally:
self.accept_next_alert = True
def tearDown(self):
self.driver.quit()
self.assertEqual([], self.verificationErrors)
if __name__ == "__main__":
unittest.main()
编辑:我也知道谷歌官方对这个问题的回答,他们正在致力于这个问题,这与devtools命令等相关。因为它是永远的,我正在寻找任何临时的解决方案或建议。链接:https://bugs.chromium.org/p/chromedriver/issues/detail?id=639
发布于 2017-07-14 13:21:16
驱动程序在Chrome中安装一个扩展,以实现一些功能,比如截图。
可以使用useAutomationExtension
选项禁用它:
from selenium import webdriver
capabilities = {
'browserName': 'chrome',
'chromeOptions': {
'useAutomationExtension': False,
'forceDevToolsScreenshot': True,
'args': ['--start-maximized', '--disable-infobars']
}
}
driver = webdriver.Chrome(desired_capabilities=capabilities)
发布于 2019-06-19 13:22:29
options = webdriver.ChromeOptions()
options.add_experimental_option('useAutomationExtension', False)
driver = webdriver.Chrome(options=options, executable_path=driverPath)
以上代码适用于我。
发布于 2020-05-10 12:04:00
options.add_experimental_option('useAutomationExtension', False)
https://stackoverflow.com/questions/45099288
复制相似问题