我需要使用selenium webdriver选择一个复选框。当我尝试找到xpath时,复选框的xpath以及标签正在获取。我找到了它的xpath并点击了该元素。 但与复选框关联的标签中有一个链接。因此,当我单击该元素时,单击标签中的链接并重定向到另一个页面。
在这种情况下,我如何选择复选框?
答案 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