我正在使用C#和Selenium进行浏览器自动化,并希望刷新页面,直到存在与给定字符串匹配的元素。我该怎么做?
<a class="name-link" href="/shop/sweatshirts/tymdtrivq/wbisud8yv">Breed Crewneck</a>
这就是元素的外观。我希望刷新页面,直到页面上存在文本"Breed Crewneck"(然后,当然,单击该项目(。但是,我无法访问名称、ID 或链接文本。此外,我不能使用XPath,因为它与关键字"Breed Crewneck"没有关系。我相信通过实现JavaScript有一个解决方案,但我在这个前景上还没有走得太远。
编辑- 由于误解,以前的编辑已被删除。道歉。
编辑 2
bool elementFound = false;
do
{
driver.Navigate().Refresh();
try
{
driver.FindElement(By.LinkText("Breed Crewneck"));
elementFound = true;
}catch(NoSuchElementException error)
{
Console.WriteLine("No such element found!");
}
} while (elementFound == false);
上面的代码似乎有效。干杯!
下面是一些 C# 代码,用于刷新页面,直到元素具有要查找的文本。
var wait = new WebDriverWait(Driver, 10000);
while (driver.FindElement(By.XPath("//a[@class=‘name-link’]")).Text != “Breed Crewneck”)
{
driver.Navigate().Refresh();
wait.Until(ExpectedConditions.ElementIsVisible(By.XPath(“//a[@class=‘name-link’]”)));
}