首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Selenium检查样式为复选框的输入广度?只是::作为国家之间的差异

问如何使用Selenium检查样式为复选框的输入广度?只是::作为国家之间的差异
EN

Stack Overflow用户
提问于 2019-08-19 03:46:58
回答 4查看 1.6K关注 0票数 1

我正在检查是否选中了复选框。我的复选框使用输入和span进行样式化,不使用复选框标记。由于它不是默认的复选框,所以不能使用方法(如、isSelected或isChecked )来检查其状态。然后,我试图检查是否有任何类属于一个状态,而不是另一个。但是,到目前为止,我发现的唯一不同之处是,当元素被选中时,会出现一个::after,但不确定如何检查它?

我发现了一个类似问题的教程,但是我对Javascript不太了解,也不确定如何使它适应我的情况。

https://www.quora.com/How-do-I-locate-After-and-Before-css-tag-in-selenium-webdriver

点击前

​

点击后

​

这就是我们正在使用的内容,并按照@pguardiario的答复

代码语言:javascript
复制
 System.out.println(js.executeScript("return window.getComputedStyle(document.querySelector('.custom-checkmark'), ':after').getPropertyValue('content')"));

但无论选择与否,都会返回相同的输出(空字符串)

更新

找到所选状态和未选择状态之间的差异。未选中复选框时,.custom-checkmark:after样式具有display-none。仍然不确定如何使用这一信息,因为这是我现在拥有的,他们返回无显示之前和之后的复选框被点击。

代码语言:javascript
复制
@Test
public void testingCheckbox() {

    JavascriptExecutor js = (JavascriptExecutor) wd;

    System.out.println(js.executeScript("return window.getComputedStyle(document.querySelector('.custom-checkmark'), ':after').getPropertyValue('display')"));

    lp.clickCheckBox();

    System.out.println(js.executeScript("return window.getComputedStyle(document.querySelector('.custom-checkmark'), ':after').getPropertyValue('display')")); 
}

​

​

新发现

实际上好像有两个复选框。一个带有span标签,另一个带有span。当取消选择某些属性时,它们将一起出现。

​

​

谢谢你的帮助。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-08-20 14:54:29

密码起作用了。针对输入标签而不是span解决了这个问题。在第一次尝试时,我的代码出现了错误,所以这就是为什么尽管isSelected字段没有工作,并继续以span标记为目标,这在这里打开了这个线程。很抱歉,谢谢大家的帮助。

票数 1
EN

Stack Overflow用户

发布于 2019-08-19 05:23:20

尝试下面的CSS选择器来识别

代码语言:javascript
复制
span.custom-checkmark:after

也请参阅下面的链接以获得更多详细信息Extracting content in :after using XPath。

票数 1
EN

Stack Overflow用户

发布于 2019-08-19 06:09:14

我不能测试它,但它应该是这样的:

代码语言:javascript
复制
driver.executeScript('return window.getComputedStyle(document.querySelector(".custom-checkmark"), ":after").getPropertyValue("content")')

遗憾的是,Java没有遗传,这让人很痛苦:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57550257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档