如何添加 chrome 选项以禁用 selenium 中的警报
how to add chrome options to disable alerts in selenium
大家好我正在关注 freecodecamp 的 selenium 教程,我正在使用 Facebook 进行测试我正在使用 MacBook 我使用 brew 安装了我的chrome驱动程序
我 运行 进入我的第一个警报问题,我想禁用警报并且不知道如何将它添加到我的 chrome 因为它在没有声明驱动程序路径的情况下自行打开请帮助所有答案显示正在声明的路径并使用 chrome 选项禁用它但我继承自 Webdriver.Chrome 添加新的 chrome 例如 driver = Webdriver.Chrome()
创建两个实例 chrome 每次我 运行 它使用我下面的代码片段时,我需要帮助使用 chrome 选项来禁用警报
import facebook.constants as const
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time
class FacebookBot(webdriver.Chrome):
"""a class to control and automate a facebook bot for srappping"""
def __init__(self, teardown=False):
self.teardown = teardown
super(FacebookBot, self).__init__()
self.implicitly_wait(20)
def __exit__(self, *args) -> None:
if self.teardown:
self.quit()
return super().__exit__(*args)
def facebook_homepage(self):
"""navigating the facebook scrapper bot to the facebook home page."""
self.get(const.BASE_URL)```
所以我在研究了更多关于 classes 之后能够通过这个...我只是希望我正在做的是 pythonic 所以这里是为我做了魔法的代码片段。
我将选项传递给 class
的 init 方法
import facebook.constants as const
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time
import os
class FacebookBot(webdriver.Chrome):
"""a class to control and automate a facebook bot for srappping"""
def __init__(self, driver_path=r"/opt/homebrew/bin/chromedriver", teardown=False):
options = Options()
options.add_argument("--disable-notifications")
self.driver_path = driver_path
os.environ["PATH"] += self.driver_path
self.teardown = teardown
super(FacebookBot, self).__init__(options=options)
# self.maximize_window()
self.implicitly_wait(20)
def __exit__(self, *args) -> None:
if self.teardown:
self.quit()
return super().__exit__(*args)
def facebook_homepage(self):
"""navigating the facebook scrapper bot to the facebook home page."""
self.get(const.BASE_URL)
大家好我正在关注 freecodecamp 的 selenium 教程,我正在使用 Facebook 进行测试我正在使用 MacBook 我使用 brew 安装了我的chrome驱动程序
我 运行 进入我的第一个警报问题,我想禁用警报并且不知道如何将它添加到我的 chrome 因为它在没有声明驱动程序路径的情况下自行打开请帮助所有答案显示正在声明的路径并使用 chrome 选项禁用它但我继承自 Webdriver.Chrome 添加新的 chrome 例如 driver = Webdriver.Chrome()
创建两个实例 chrome 每次我 运行 它使用我下面的代码片段时,我需要帮助使用 chrome 选项来禁用警报
import facebook.constants as const
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time
class FacebookBot(webdriver.Chrome):
"""a class to control and automate a facebook bot for srappping"""
def __init__(self, teardown=False):
self.teardown = teardown
super(FacebookBot, self).__init__()
self.implicitly_wait(20)
def __exit__(self, *args) -> None:
if self.teardown:
self.quit()
return super().__exit__(*args)
def facebook_homepage(self):
"""navigating the facebook scrapper bot to the facebook home page."""
self.get(const.BASE_URL)```
所以我在研究了更多关于 classes 之后能够通过这个...我只是希望我正在做的是 pythonic 所以这里是为我做了魔法的代码片段。
我将选项传递给 class
的 init 方法import facebook.constants as const
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time
import os
class FacebookBot(webdriver.Chrome):
"""a class to control and automate a facebook bot for srappping"""
def __init__(self, driver_path=r"/opt/homebrew/bin/chromedriver", teardown=False):
options = Options()
options.add_argument("--disable-notifications")
self.driver_path = driver_path
os.environ["PATH"] += self.driver_path
self.teardown = teardown
super(FacebookBot, self).__init__(options=options)
# self.maximize_window()
self.implicitly_wait(20)
def __exit__(self, *args) -> None:
if self.teardown:
self.quit()
return super().__exit__(*args)
def facebook_homepage(self):
"""navigating the facebook scrapper bot to the facebook home page."""
self.get(const.BASE_URL)