You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Selenium ChromeDriver调用get()报InvalidArgumentException,JS执行器可正常跳转

问题根因

  • 触发InvalidArgumentException的核心原因是传入driver.get()的URL缺少协议头:你测试代码中定义的url值为www.hotstar.com,未添加http://或https://前缀。

Selenium的WebDriver规范明确要求get()方法必须传入符合RFC标准的完整有效URI,缺少协议头的字符串无法被识别为合法的访问地址,因此直接抛出参数非法异常,这就是代码仅打印到数字3就中断的原因。

  • JavascriptExecutor执行跳转正常的原因:window.location属于浏览器原生API,浏览器自身的地址解析逻辑会自动为不带协议的域名补全默认协议(多数场景下默认补全https://),因此不需要严格传入带协议的完整地址也能正常跳转。

解决方案

修改测试代码中的URL定义,补全协议头即可解决问题:

@Test
public void test() {
    // 补全https协议头
    String url= "https://www.hotstar.com";
    System.out.println("3");
    driver.get(url);
    System.out.println("4");
    String Title=driver.getTitle();
    System.out.println(Title);
}

内容的提问来源于stack exchange,提问作者Krishna Mohan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 07:54:00