我是Selenium的新手。在特定场景中,我无法捕获输入元素。下面是代码:
<ul class = "form1">
<li class="firstName">
<input placeholdervalue="First name" tabindex="1" placeholder="First name" class="text" placeholdevalue="First name" data-input-rule="name" data-value-rule="required" maxlength="20" type="text">
</li>
</ul>
我想找到输入元素。我尝试使用定位器By.ClassName
,By.CssSelector("input[class='text placeholder']")
进行定位,并尝试使用:
wait.Until(ExpectedConditions.ElementIsVisible(By.CssSelector("input[className='text' and placeholdevalue='First name'"))).SendKeys("Vipul");
但输入元素未被选中。 请让我知道选择输入元素的正确方法。
答案 0 :(得分:1)
我会使用 dot
符号来匹配ul
,li
和input
元素的类:
By.CssSelector("ul.form1 li.firstName input.text")
如果仍然找不到该元素,那么可能有两个最常见的原因:
我会扩展这些项目,以防您在查找元素时仍然遇到问题。
答案 1 :(得分:1)
感谢您的回复。
它适用于此,
driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(20));
wait.Until(ExpectedConditions.ElementIsVisible(By.CssSelector("ul.form1 li.firstName input.text"))).SendKeys("Vipul");
这是使用等待的正确方法吗?
此外,任何人都可以指出使用selenium webdriver解释使用框架的资源吗?
-Amit