使用Selenium和python,我可以通过Chrome网络驱动程序来做到这一点:
options.add_experimental_option("excludeSwitches", ["enable-automation"])
driver = webdriver.Chrome(options = options)
但是我找不到Firefox的webdriver选项的类似属性。是否存在?
答案 0 :(得分:4)
Firefox使用不同的标志。我不确定您的目标确切是什么,但我假设您正试图避免某些网站检测到您正在使用硒。
有多种方法可以避免网站检测到硒的使用。
1)使用Selenium时,默认将navigator.webdriver的值设置为true。此变量将出现在Chrome和Firefox中。此变量应设置为“ undefined”,以避免被检测。
2)代理服务器也可以用来避免检测。
3)某些网站能够使用浏览器的状态来确定您是否正在使用Selenium。您可以将Selenium设置为使用自定义浏览器配置文件来避免这种情况。
下面的代码使用了这三种方法。
profile = webdriver.FirefoxProfile('C:\\Users\\You\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\something.default-release')
PROXY_HOST = "12.12.12.123"
PROXY_PORT = "1234"
profile.set_preference("network.proxy.type", 1)
profile.set_preference("network.proxy.http", PROXY_HOST)
profile.set_preference("network.proxy.http_port", int(PROXY_PORT))
profile.set_preference("dom.webdriver.enabled", False)
profile.set_preference('useAutomationExtension', False)
profile.update_preferences()
desired = DesiredCapabilities.FIREFOX
driver = webdriver.Firefox(firefox_profile=profile, desired_capabilities=desired)
答案 1 :(得分:1)
您可以尝试:
pip3 install virtualenvwrapper