如何测试href值是否为selenium的相对值

and*_*ico 7 c# selenium automated-tests selenium-chromedriver

我想测试我的标签中的href属性中的值是否是使用Selenium的相对路径.

这是我的HTML:

<a href="/about/somepage/">my page</a>
Run Code Online (Sandbox Code Playgroud)

我用selenium来选择一个标签:

string hrefValue = _chromeDriver.FindElement(By.TagName("a")).GetAttribute("href");
Run Code Online (Sandbox Code Playgroud)

这将返回" http:// mydomain/about/somepage / ",即使" http:// mydomain "部分不在HTML中.

如果我使用GetAttribute("pathname")它会给出我想要的东西,但是如果HTML看起来像这样,它GetAttribute("pathname")只会给出值"/about/somepage/"EVEN:

<a href="http://myDomain/about/somepage/">my page</a>
Run Code Online (Sandbox Code Playgroud)

那么,我如何测试href属性的实际值是否与我的网站相关?

Jef*_*ffC 5

最简单的方法是查找A标记,同时检查其href属性,看它是否以"http"开头.

Console.WriteLine(driver.FindElements(By.CssSelector(a[href^='http'])).Any());
Run Code Online (Sandbox Code Playgroud)

如果这打印False则它是相对的.