1,谷歌瀏覽器默認位置
2,ChromeDriverManager 下載的驅(qū)動位置 其中admin為機器的用戶名文章來源地址http://www.zghlxwxcb.cn/news/detail-848527.html
def installDriver(self):
"""判斷是否需要下載driver"""
"""找到本機谷歌瀏覽器版本"""
"""C:\Program Files\Google\Chrome\Application\122.0.6261.112
找到名字為版本號的文件夾"""
dirPath=r'C:\Program Files\Google\Chrome\Application'
version='122.0.6261.112'
for item in os.listdir(dirPath):
if re.search(r'\d{3}.\d.\d{4}.\d{3}',item):
version=re.search(r'\d{3}.\d.\d{4}.\d{3}',item).group(0)
break
username = getpass.getuser() #獲取本機
driver_path = f"""C:\\Users\\{username}\\.wdm\\drivers\\chromedriver\\win64\\{version}\\chromedriver-win32\\chromedriver.exe"""
if not os.path.exists(driver_path):
driver_path = ChromeDriverManager().install()
return driver_path
def createDriver(self):
driver_path=self.installDriver()
op = webdriver.ChromeOptions()
# op.add_argument('headless')
op.add_argument('disable-infobars')
op.add_argument('--ignore-certificate-errors')
op.add_argument('--allow-insecure-localhost')
op.add_argument('-ignore -ssl-errors')
op.add_experimental_option('excludeSwitches', ['enable-automation']) # 以鍵值對的形式加入?yún)?shù)
prefs = {"profile.default_content_settings.popups": 1}
op.add_experimental_option('prefs', prefs)
script = '''
Object.defineProperty(navigator, 'webdriver', {
get: () => undefined
})
'''
self.driver = webdriver.Chrome(service=Service(driver_path))
self.driver.maximize_window()
self.driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {"source": script})
self.driver.execute_script(script)
script = '''
Object.defineProperty(navigator, 'plugins', {
get: () => 2
})
'''
self.driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {"source": script})
self.driver.set_page_load_timeout(60)
文章來源:http://www.zghlxwxcb.cn/news/detail-848527.html
到了這里,關(guān)于Selenium-webdriver_manager判斷是否已經(jīng)下載過驅(qū)動(復(fù)用緩存驅(qū)動)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!