我想用Java禁用Selenium Webdriver上的所有断点(来自debugger;
JavaScript目标应用程序)。我的目标应用程序每x秒运行一个断点并停止我的硒运行。
ChromeOptions options = new ChromeOptions();
options.addArguments("start-maximized");
options.addArguments("disable-infobars");
options.addArguments("--disable-extensions");
options.addArguments("--disable- ???? "); <= ???????
WebDriver driver = new ChromeDriver(options);
driver.get("http://rd.huangpuqu.sh.cn/website/html/shprd/shprd_tpxw/List/list_0.htm");
您可以找到所有选择项here,但我找不到此功能。
编辑:
我尝试这样做(通过Javascript通过JavascriptExecutor),但是不起作用:
((JavascriptExecutor) driver).executeScript("debugger; = function(){};");
或
((JavascriptExecutor) driver).executeScript("debugger = function(){};");
或
((JavascriptExecutor) driver).executeScript("window.debugger = function(){};");
编辑2:
我尝试通过javascript解决此问题,但不起作用:
stackoverflow:How to disable debugger; command in JS?
调试器不是JavaScript成员,不能被覆盖。
编辑3:
同时,我在硒库here上问了一个新问题
答案 0 :(得分:0)
调用脚本重新定义 debugger 似乎是个好主意,但我认为您可以尝试以下方法:
((JavascriptExecutor) driver).executeScript("debugger = function(){};");
或:
((JavascriptExecutor) driver).executeScript("window.debugger = function(){};");