大家好我有元素有这些atr:
<input type="text" class="id-element clearable ui-input-text ui-body-a" data-mini="true" maxlength="50" id="bec563ae2-AccountUser_Name">
我想通过ID
找到它,但id=bec563ae2-
的部分是为每个用户自动生成的。
然后使用将不起作用:
IWebElement profilUser = driverGC.FindElement(By.Id("id"));
是的仍有办法通过ClassName
找到它(但它在这里无效)或CssSelector
,但如果我试图通过CssSelector
找到它,我将进入这个元素的某些部分,但我将无法使用它(填写名称)。
好的我试过这个,但没有成功:
IWebElement profilUserName = driverGC.FindElement(By.CssSelector(".ui-page-active .msls-dialog-inner-frame .msls-tab-content .msls-first-row .msls-presenter-content .div:nth-child(1)"));
profilUserName.SendKeys("Paul");
答案 0 :(得分:1)
好像您正在寻找一个ID以特定字符串结尾的元素: 以下是使用css选择器
的方法driverGC.FindElement(By.CssSelector("input[id$='AccountUser_Name']"));
答案 1 :(得分:0)
如果您正在使用CssSelector,则必须确保字符串中没有空格。
答案 2 :(得分:0)
似乎你仍然可以使用XPath来定位元素。
driver.findElement(By.xpath("xpath expression"))