选择具有href链接的复选框,使用selenium web驱动程序将与其关联的标签分开

时间:2016-03-10 05:39:05

标签: selenium xpath checkbox

我需要使用selenium webdriver选择一个复选框。当我尝试找到xpath时,复选框的xpath以及标签正在获取。我找到了它的xpath并点击了该元素。 但与复选框关联的标签中有一个链接。因此,当我单击该元素时,单击标签中的链接并重定向到另一个页面。

在这种情况下,我如何选择复选框?

2 个答案:

答案 0 :(得分:0)

尝试以下代码。

var checkBox = driver.FindElement(By.Id("terms_checkbox"));
            if (!checkBox.Selected)
            {
                checkBox.Click();
            }

如果有任何问题,请告诉我。

答案 1 :(得分:0)

您应该在点击之前使元素可见,因此首先运行<?xml version="1.0" encoding="UTF-8"?> <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="Html5Chart" pageWidth="842" pageHeight="595" orientation="Landscape" columnWidth="802" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20"> <field name="column1" class="java.lang.String"/> <field name="column2" class="java.lang.String"/> <field name="column3" class="java.lang.Double"/> <summary> <band height="500"> <componentElement> <reportElement x="0" y="0" width="802" height="500"/> <hc:chart xmlns:hc="http://jaspersoft.com/highcharts" xsi:schemaLocation="http://jaspersoft.com/highcharts http://jaspersoft.com/schema/highcharts.xsd" type="Line"> <multiAxisData> <multiAxisDataset> </multiAxisDataset> <dataAxis axis="Rows"> <axisLevel name="column2"> <labelExpression><![CDATA["column 2"]]></labelExpression> <axisLevelBucket class="java.lang.String"> <bucketExpression><![CDATA[$F{column2}]]></bucketExpression> </axisLevelBucket> </axisLevel> </dataAxis> <dataAxis axis="Columns"> <axisLevel name="column1"> <labelExpression><![CDATA["column 1"]]></labelExpression> <axisLevelBucket class="java.lang.String"> <bucketExpression><![CDATA[$F{column1}]]></bucketExpression> </axisLevelBucket> </axisLevel> </dataAxis> <multiAxisMeasure name="column3" class="java.lang.Double" calculation="Nothing"> <labelExpression><![CDATA["column 3"]]></labelExpression> <valueExpression>$F{column3}</valueExpression> </multiAxisMeasure> </multiAxisData> </hc:chart> </componentElement> </band> </summary> </jasperReport> 。在JavaScript中,这看起来像

Python

你也可能需要这个

driver.execute_script('document.getElementById("terms_checkbox").style.visibility="visible";')

您尚未指定编程语言,因此如果使用其他语言,则需要采用此driver.execute_script('document.getElementById("terms_checkbox").style.display="block";') 代码

<强>更新

我不确定,但在Python猜测这应该是

Java