Selenium webdriver 拆分类名
您好,在span中查找类名“icon-color-1”时,我发现“icon-color-1”根据条件更改为“icon-color-0”。需要将类名分成两部分 尝试了以下操作,但不是很有用:Selenium webdriver 拆分类名,selenium-webdriver,Selenium Webdriver,您好,在span中查找类名“icon-color-1”时,我发现“icon-color-1”根据条件更改为“icon-color-0”。需要将类名分成两部分 尝试了以下操作,但不是很有用: WebElement myAccountBoxElement=driver.findElement(By.className(“我的帐户框元素”); WebElement spanItem=MyAccountBoxeElement.findElements(按.tagName(“span”)); 布尔item
WebElement myAccountBoxElement=driver.findElement(By.className(“我的帐户框元素”);
WebElement spanItem=MyAccountBoxeElement.findElements(按.tagName(“span”));
布尔itemColor=(spanItem.getAttribute(“类”)。包含(“item-color-1”)?真:假;
我已经有一段时间没有使用java了,但我会尝试一下,看看它是如何工作的
//简化跨度定位
WebElement spanItem=driver.findElement(By.cssSelector(“.my account box元素span”);
int colorNum=-1;
字符串[]classNames=spanItem.getAttribute(“类”).split(“”);
for(字符串类名称:类名称){
//html显示“图标颜色-”,代码显示“项目颜色-”
if(className.startsWith(“图标颜色-”){
colorNum=Integer.parseInt(className.replace(“图标颜色-”,“”));
打破
}
}
如果(colorNum==0){
//为item-color-0元素做一些事情
}else if(colorNum==1){
//为item-color-1元素做一些事情
}否则{
//例外情况
}
通过数组获取类名并将其拆分
<script type="text/javascript">
function Validations(){
var inp_valid=/^[A-Z a-z]{4,}$/;
var inpm_valid=/^[a-zA-Z0-9\-_]+(\.[a-zA-Z0-9\-_]+)*@[a-z0-9]+(\-[a-z0-9]+)*(\.[a-z0-9]+(\-[a-z0-9]+)*)*\.[a-z]{3}$/;
var inpn_valid= /^\d{10}$/;
var inp = document.querySelectorAll("input");
for (var i = 0; i < inp.length; i++)
{
var inpslipt = inp[i].className.split(' ');
for (var j =0; j < inpslipt.length; j++)
{
if(inpslipt[j] == "names")
{
if ( (inp[i].value == "") || !inp_valid.test(inp[i].value) )
{
inp[i].focus();
alert("please enter a valid name");
return false;
}
}
else if(inpslipt[j] == "mail")
{
if ( (inp[i].value == "") || !inpm_valid.test(inp[i].value) )
{
inp[i].focus();
alert("please enter a valid email");
return false;
}
}
else if(inpslipt[j] == "number")
{
if ( (inp[i].value == "") || !inpn_valid.test(inp[i].value) )
{
inp[i].focus();
alert("please enter a valid number");
return false;
}
}
}
}
document.forms["myform"].submit();
}
</script>
函数验证(){
var inp_valid=/^[A-Z A-Z]{4,}$/;
var inpm\U valid=/^[a-zA-Z0-9\-\-\+(\.[a-zA-Z0-9\-\-\+])*[a-Z0-9]+(\-[a-Z0-9]+)*(\.[a-Z0-9]+(\-[a-Z0-9]+)*[a-z]{3}$/;
var inpn_valid=/^\d{10}$/;
var inp=document.querySelectorAll(“输入”);
对于(变量i=0;i
因此,您的意思是,在获得跨度的类名后,需要检查类名是否以1或0结尾,对吗?是的,没错。需要执行item-color-1的子字符串。如果获取0,则状态为-1,否则状态为-2。如果您想让我知道如何使用“cssSelector”而不是XPath。@user2340124:一个很好的css选择器教程。对于selenium来说,以下内容非常有用:
,
,
,+
,:不
,[foo=“bar”]
,[foo~=“bar”]
,[foo*=“bar”
,[foo^=“bar”
,[foo$=“bar]”,非常感谢。非常有用的链接。