selenium-webdriver - 如何在 webdriver.Navigate().GotoUrl() 中使用相对路径?

标签 selenium-webdriver selenium-firefoxdriver

driver.Navigate().GoToUrl("/") 将位置设置为 "/"而不是 "http://www.domain.com/ "

另一个例子是

driver.Navigate().GoToUrl("/view1") 将位置设置为 "/view1"而不是 "http://www.domain.com/view1 "

任一示例都会导致浏览器返回地址无效。

最佳答案

您可以使用 Java URI 来计算相对于当前 uri 或域的路径:

import java.net.URI;

driver.get("http://example.org/one/");

// http://example.org/one/two/
driver.get(new URI(driver.getCurrentUrl()).resolve("two/").toString());

// http://example.org/one/two/three/?x=1
driver.get(new URI(driver.getCurrentUrl()).resolve("three/?x=1").toString());

// http://example.org/one/two/three/four/?y=2
driver.get(new URI(driver.getCurrentUrl()).resolve("./four/?y=2").toString());

// http://example.org/one/two/three/five/
driver.get(new URI(driver.getCurrentUrl()).resolve("../five/").toString());

// http://example.org/six
driver.get(new URI(driver.getCurrentUrl()).resolve("/six").toString());

如果您能够在不使用 getCurrentUrl() 的情况下计算 url,它可能会使您的代码更具可读性。

关于selenium-webdriver - 如何在 webdriver.Navigate().GotoUrl() 中使用相对路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16575821/

相关文章:

python - 无法获取所有子项(动态加载)selenium python

javascript - Selenium htmlUnit 动态内容不起作用

selenium - 是否可以使用 selenium 在 Firefox 中更改浏览器语言?

python - WebDriver异常 : Message: newSession with GeckoDriver Firefox v65 and Selenium through Python 3. 7

python - 如何修复 Selenium WebDriverException : "The browser appears to have exited"

python - Firefox 在使用 Selenium-Webdriver 时看到 PhantomJS 看不到的元素

python - driver = webdriver.Chrome()::selenium 方法的问题 - 如何解决

python - Selenium Webdriver 中的 Keys.ESCAPE(python)

python - Selenium 不定位元素

java - Selenium 寻找 getAllFields() 函数