0
я получил следующий код C# из Selenium IDE:Невозможно навигацию при помощи LinkText в Селен C#
driver.FindElement(By.LinkText("Sub Link 1")).Click();
Но, как это не работает, я изменил код ниже, чтобы ждать. Он все еще не работает.
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
IWebElement element = wait.Until(ExpectedConditions.ElementExists(By.LinkText("Main Link 1")));
if (element != null)
{
var innerElement = wait.Until(ExpectedConditions.ElementExists(By.PartialLinkText(
"Sub Link 1")));
}
В чем может быть проблема?
Мой HTML:
<html>
<a href="#nav" title="Show navigation">Show navigation</a>
<a href="#" title="Hide navigation">Hide navigation</a>
<div id="navlogo"><a title="HOME" href="url">
<span style="position:absolute;width:100%;height:100%;top:0;left: 0;">
</span></a></div>
<ul class="clearfix">
<li><a href="">MXLMain1</a>
<ul>
<li><a href="">ML1</a>
</li>
<li><a href="">ML2</a>
</li>
</ul>
</li>
<li><a href="">MXLMain2</a>
<ul>
<li><a href="">MK2</a>
</li>
</ul>
</li>
<li><a href="">Main Link 1</a>
<ul>
<li><a href="">Sub Link 1</a>
</li>
<li><a href="">Sub Link 2</a>
</li>
</ul>
</li>
..........................
</html>
Я помню, у меня были некоторые проблемы с LinkText, он никогда не найти то, что мне нужно, поэтому каждый раз, когда я хочу, чтобы искать что-то с текстом, я использую XPath для того, // а [текст () = 'Sub Link 1'] –
Вы пробовали By.PartialLinkText. Иногда пробелы вокруг текста не позволяют найти точный элемент. –
«Не работает» означает * what *? Какие ошибки? – Arran