Selenium文档提到Chrome webdriver可以使用 ChromeOptions
实例, 但我不知道如何创建ChromeOptions
。
我希望将 --disable-extensions
标志传递给Chrome。
Selenium文档提到Chrome webdriver可以使用 ChromeOptions
实例, 但我不知道如何创建ChromeOptions
。
我希望将 --disable-extensions
标志传递给Chrome。
在 Selenium 源代码中找到了 chrome Options 类。
使用它来创建 Chrome 驱动程序实例:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument("--disable-extensions")
driver = webdriver.Chrome(chrome_options=chrome_options)
这就是我做的方式。
from selenium import webdriver
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--disable-extensions')
chrome = webdriver.Chrome(chrome_options=chrome_options)
以下代码可禁用使用DesiredCapabilities设置浏览器标志的用户的谷歌浏览器扩展程序:
desired_capabilities['chromeOptions'] = {
"args": ["--disable-extensions"],
"extensions": []
}
webdriver.Chrome(desired_capabilities=desired_capabilities)
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument('--disable-logging')
# Update your desired_capabilities dict withe extra options.
desired_capabilities.update(options.to_capabilities())
driver = webdriver.Remote(desired_capabilities=options.to_capabilities())
所需的 desired_capabilities 和 options.to_capabilities() 都是字典。您可以使用 dict.update() 方法将 options 添加到主集合中。
如果您使用普通的Chromedriver:
pip3 install selenium
示例代码:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
def main():
# Set the path to the chromedriver
chromedriver_path = "path/to/chromedriver"
# Create ChromeOptions
options = Options()
# Your Options here....
# options.add_argument("--headless") # Run in headless mode
# options.add_argument("--disable-gpu") # Disable GPU acceleration
# Create a ChromeDriver
driver = webdriver.Chrome(executable_path=chromedriver_path, options=options)
# Open Website
driver.get("https://www.google.com")
# your code.. clicking on buttons etc..
# Close the ChromeDriver
driver.quit()
if __name__ == "__main__":
main()
如果您使用未检测到的chromedriver:
pip3 install undetected-chromedriver
示例代码:
import undetected_chromedriver as uc
def main():
# Set the path to the chromedriver executable
chromedriver_path = "path/to/chromedriver"
# Create options object
options = uc.ChromeOptions()
# Add options if needed
# options.add_argument("--headless") # Run in headless mode
# options.add_argument("--disable-gpu") # Disable GPU acceleration
# Create an instance of Undetected ChromeDriver with options
driver = uc.Chrome(executable_path=chromedriver_path, options=options)
try:
# Open Google
driver.get("https://www.google.com")
# Rest of your code for interacting with the Google page
except Exception as ex:
print(ex)
finally:
# Close the ChromeDriver
driver.quit()
if __name__ == "__main__":
main()
以下是我经常使用的一些 Chrome 选项:
options.add_argument(f"--window-size=1366,768")
options.add_argument(f'--user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36')
options.add_argument('--disable-blink-features=AutomationControlled')
options.add_argument("--disable-extensions")
options.add_argument("--proxy-server='direct://'")
options.add_argument("--proxy-bypass-list=*")
options.add_argument('--ignore-certificate-errors')
options.add_argument("--password-store=basic")
options.add_argument("--no-sandbox")
options.add_argument("--disable-dev-shm-usage")
options.add_argument("--disable-extensions")
options.add_argument("--enable-automation")
options.add_argument("--disable-browser-side-navigation")
options.add_argument("--disable-web-security")
options.add_argument("--disable-dev-shm-usage")
options.add_argument("--disable-infobars")
options.add_argument("--disable-gpu")
options.add_argument("--disable-setuid-sandbox")
options.add_argument("--disable-software-rasterizer")
options.add_argument(f"--user-data-dir=PATH_TO_CHROME_PROFILE")
options.add_argument('--proxy-server=IP_ADRESS:PORT')
npx @puppeteer/browsers install chrome@114.0.5735.90
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_argument('--headless=new')
options.add_argument('--disable-gpu')
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')
driver = webdriver.Chrome(options=options)
try:
driver.get("https://www.google.com")
print("Page title was '{}'".format(driver.title))
finally:
driver.quit()
chrome_options.add_argument("--js-flags=--harmony")
。 - msridharchrome_options
参数已经被弃用,现在可以使用更简单的options
参数,例如:driver = webdriver.Chrome(options=chrome_options)
。 - Mike Bchrome_options.add_argument("--enable-extensions")
来启用所有扩展程序,而不是通过(代码)手动添加每个扩展程序?先感谢您! - Joe