cho*_*bo2 18 javascript selenium
我想知道如何在使用selenium时禁用javascript,以便我可以测试服务器端验证.
我找到了这篇文章,但我不知道该怎么做.就像我制作这个javascript文件那么?
http://thom.org.uk/2006/03/12/disabling-javascript-from-selenium/
Ass*_*esh 21
如果您将WebDriver与FireFox一起使用,这是一种方法:
FirefoxProfile p = new FirefoxProfile();
p.setPreference("javascript.enabled", false);
driver = new FirefoxDriver(p);
Run Code Online (Sandbox Code Playgroud)
与此同时,出现了更好的替代方案,请参阅其他答案,例如/sf/answers/524475311/.
其他可能性是:
对于python来说,这是一个简单的答案.
from selenium import webdriver
profile = webdriver.FirefoxProfile()
profile.set_preference("javascript.enabled", False);
driver = webdriver.Firefox(profile)
Run Code Online (Sandbox Code Playgroud)
截至 2018 年,上述解决方案对我Firefox 61.0.1和geckodriver 0.20.1.
这是一个有效的解决方案。
from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
browser_exe = '/path/to/firefox/exe'
browser_driver_exe = '/path/to/geckodriver/exe'
firefox_binary = FirefoxBinary(browser_exe)
profile = webdriver.FirefoxProfile()
profile.DEFAULT_PREFERENCES['frozen']['javascript.enabled'] = False
profile.set_preference("app.update.auto", False)
profile.set_preference("app.update.enabled", False)
profile.update_preferences()
driver = webdriver.Firefox(
executable_path=browser_driver_exe,
firefox_binary=firefox_binary,
firefox_profile=profile,
)
driver.get("about:config")
Run Code Online (Sandbox Code Playgroud)
现在在搜索栏中键入javascript,您应该会看到以下内容。