Я пытаюсь, чтобы моя программа сидела на веб-странице и дождалась появления определенного тега в статье. Проблема в том, что мне нужно, чтобы Selenium проверял, что статья содержит два имени тега перед щелчком, вот где я в тупике. То, как у меня есть моя настройка кода прямо сейчас, она нигде не нажимает. Он просто сидит на странице, я подозреваю, потому что есть более одной статьи с тем же самым основным именем тега, которое я пытаюсь найти. Вот HTML:Selenium - Одинаково <articles>, C#
<article>
<div class ="inner-article">
<a href ="/shop/shirts/iycbmgtqw/x9vdawcjg" style="height:150px;">
<img alt="Xrtqh7ar444" height="150" src="//d17ol771963kd3.cloudfront.net/120885/vi/xrTQH7Ar444.jpg" width="150">
</a>
<h1>
<a href="/shop/shirts/iycbmgtqw/x9vdawcjg" class="name-link">EXAMPLE_CODE</a>
</h1>
<p>
<a href="/shop/shirts/iycbmgtqw/x9vdawcjg" class="name-link">EXAMPLE_COLOUR</a>
</p>
</div>
</article>
Все остальные предметы на этой странице имеют одинаковый класс, а некоторые имеют одинаковые имена тегов. Я хочу найти, когда в статье есть определенная комбинация из двух тегов. Я понимаю, что xPath является вариантом, но я хотел бы закодировать его, прежде чем знать xPath, где имя элемента является единственной доступной информацией.
И вот код, я работаю с на данный момент:
driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromMinutes(10));
IWebElement test = driver.FindElement(By.TagName(textBox12.Text));
test.Click();
где textBox12.Text является "EXAMPLE_CODE". Правильно ли я полагаю, что WebDriver ничего не нажимает, потому что существует более одного элемента с именем tagExAMP «EXAMPLE_CODE», и есть ли способ, чтобы сначала просмотреть «EXAMPLE_CODE», а затем проверить вторичное: «EXAMPLE_COLOUR», ?
Спасибо!
Спасибо за ответ! Это имеет смысл, я попробую использовать xPath. Я все еще запутался в том, как настроить код для использования обоих xpaths, чтобы определить, какой веб-элемент выбрать? –
@ClarkMcMaster Можете ли вы уточнить, что вас трогает? – Grasshopper
Вот как выглядит мой код: –