【发布时间】:2020-02-01 07:04:31
【问题描述】:
我正在使用 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);
上面的代码似乎可以工作。干杯!
【问题讨论】:
-
href是否与Breed Crewneck有关系?哦,是的,javascript 可能是前进的方向 -
不。不幸的是,“tymdtrivq/wbisud8yv”是无关的。我想我需要找到一种在 C# 中实现 JavaScript 函数的方法。
-
哦,在 C# 中,不,那么 javascript 不是前进的方向
-
啊,好的,有没有办法只通过 C# 来解决这个问题?
标签: javascript c# selenium selenium-chromedriver