Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 具有特殊字符的selenium webdriver调用链接_Java_Selenium - Fatal编程技术网

Java 具有特殊字符的selenium webdriver调用链接

Java 具有特殊字符的selenium webdriver调用链接,java,selenium,Java,Selenium,我正在试用selenium web驱动程序,并希望使用与以下代码类似的代码: WebDriver driver = new FirefoxDriver(); driver.get("http:\\awebsite.com?that%20has%20x"); 不幸的是,当我执行代码时,浏览器中出现: http:\\awebsite.com?that has x 我需要做什么才能使%20不被“空格”取代 提前谢谢你 一个好的解决方案是使用java的URLEncoder类 例如: String q

我正在试用selenium web驱动程序,并希望使用与以下代码类似的代码:

WebDriver driver = new FirefoxDriver();
driver.get("http:\\awebsite.com?that%20has%20x");
不幸的是,当我执行代码时,浏览器中出现:

http:\\awebsite.com?that has x
我需要做什么才能使%20不被“空格”取代


提前谢谢你

一个好的解决方案是使用java的URLEncoder类

例如:

String q = "that%20has%20x";
String url = "http://google.com?q=" + URLEncoder.encode(q, "UTF-8");
driver.get(url);
在浏览器地址栏中,您将看到:

https://www.google.com/?q=that%2520has%2520x
对地址进行编码时,“%”变为“%25”


这与使用@Nathan Merrill的建议的结果相同

许多浏览器将
%20
显示为空格,但实际上使用的是编码版本;你确定这里不是这样吗?从地址栏中复制URL时会发生什么情况?您可以使用
%25
转义
%
。这意味着它看起来像是
%2520
…但我认为这不是你想要的。您所描述的是标准的浏览器行为。感谢您的快速回复!%25个很好用!谢谢