正常使用 ChromeDriver 打开Pc端网址:www.ks__.com ,有时候会出现滑块验证问题,开始以为,跟某音的滑块一样,通过打X平台返回点位,然后通过创建Actions对象使用actions.clickAnHold()通过。

没想到的是...滑块使用这种方式通过不了,让识别出来了!!,我以为是匀速滑动被识别的问题,开始各种更改,依然过不了,后来经过我不断的尝试和坚持不懈的寻找其他接口,在加上对ChromeOption添加一些伪装参数的修改终于 success !!!

ChromeOption设置如下:

ChromeOptions option = new ChromeOptions();
//去掉chrome 正受到自动测试软件的控制
option.addArguments("disable-infobars");
option.addArguments("user-agent=" + USER_AGENT);

//设置开发者模式启动
option.setExperimentalOption("excludeSwitches", Collections.singletonList("enable-automation"));
option.addArguments("--ignore-certificate-errors");
option.addArguments("--no-sandbox", "--disable-gpu", "--window-position=0,0", "--window-size=2560,1600");
option.addArguments("--headless");
DesiredCapabilities chromeCaps = DesiredCapabilities.chrome();
chromeCaps.setCapability(ChromeOptions.CAPABILITY, option);
ChromiumDriver driver = new ChromiumDriver(chromeCaps);
HashMap<String, Object> map = Maps.newHashMap();
map.put("source", "Object.defineProperty(navigator, 'webdriver', {get: () => undefined})");
driver.executeCdpCommand("Page.addScriptToEvaluateOnNewDocument", map);

然后driver.get(“https://www.k某某s.com/brilliant”);        

进行一顿操作就可以啦!

第一次发记录一下,希望对你有帮助

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐