什么是python相当于useAutomationExtension for selenium?
我正在尝试从我的办公室环境运行一个基本的selenium脚本,它具有代理和防火墙设置.该脚本运行正常,但在每次执行之前它都会弹出一个提示“管理员禁用解压缩扩展的加载”.这意味着我必须手动点击它才能继续,这违背了自动化的目的.
我用谷歌搜索并堆栈溢出错误,看起来有一个需要禁用的chrome选项useAutomationExtension.我继续搜索python的正确语法(环境:Python 2.7-win32,运行chrome驱动程序2.30.477700(0057494ad8732195794a7b32078424f92a5fce41)),但找不到合适的chrome开关/选项. 我也研究了这个问题:来自谷歌的Chromium / Chrome切换:https://chromium.googlesource.com/chromium/src/+/master/chrome/common/chrome_switches.cc 我模糊地试过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:UsersBabablacksheep_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() 编辑: 解决方法
该驱动程序在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) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |