Skip to content

Commit 65dc17e

Browse files
committed
Making timeout setting methods standard compliant
1 parent ef13321 commit 65dc17e

File tree

1 file changed

+14
-5
lines changed

1 file changed

+14
-5
lines changed

java/client/src/org/openqa/selenium/remote/RemoteWebDriver.java

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -488,7 +488,14 @@ public List<WebElement> findElementsByXPath(String using) {
488488
// Misc
489489

490490
public String getPageSource() {
491-
return (String) execute(DriverCommand.GET_PAGE_SOURCE).getValue();
491+
if (getW3CStandardComplianceLevel() == 0) {
492+
return (String) execute(DriverCommand.GET_PAGE_SOURCE).getValue();
493+
} else {
494+
String script = "var source = document.documentElement.outerHTML; \n"
495+
+ "if (!source) { source = new XMLSerializer().serializeToString(document); }\n"
496+
+ "return source;";
497+
return (String) executeScript(script);
498+
}
492499
}
493500

494501
public void close() {
@@ -807,14 +814,16 @@ public void activateEngine(String engine) {
807814
protected class RemoteTimeouts implements Timeouts {
808815

809816
public Timeouts implicitlyWait(long time, TimeUnit unit) {
810-
execute(DriverCommand.IMPLICITLY_WAIT, ImmutableMap.of("ms",
811-
TimeUnit.MILLISECONDS.convert(Math.max(0, time), unit)));
817+
execute(DriverCommand.SET_TIMEOUT, ImmutableMap.of(
818+
"type", "implicit",
819+
"ms", TimeUnit.MILLISECONDS.convert(time, unit)));
812820
return this;
813821
}
814822

815823
public Timeouts setScriptTimeout(long time, TimeUnit unit) {
816-
execute(DriverCommand.SET_SCRIPT_TIMEOUT,
817-
ImmutableMap.of("ms", TimeUnit.MILLISECONDS.convert(time, unit)));
824+
execute(DriverCommand.SET_TIMEOUT, ImmutableMap.of(
825+
"type", "script",
826+
"ms", TimeUnit.MILLISECONDS.convert(time, unit)));
818827
return this;
819828
}
820829

0 commit comments

Comments
 (0)