Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 Selenium Xpath我正在尝试选择col2中的复选框,其中名称在col1中-使用以下轴或子体_Python 2.7_Selenium_Xpath_Selenium Webdriver - Fatal编程技术网

Python 2.7 Selenium Xpath我正在尝试选择col2中的复选框,其中名称在col1中-使用以下轴或子体

Python 2.7 Selenium Xpath我正在尝试选择col2中的复选框,其中名称在col1中-使用以下轴或子体,python-2.7,selenium,xpath,selenium-webdriver,Python 2.7,Selenium,Xpath,Selenium Webdriver,我有一个包含一些行和列的HTML表。 表中有一行在第1列中有文本“CRM”,在第2列中有复选框。 我想从此行中选择复选框,而复选框位于第2列 我想选中第1列有文本“CRM”的复选框 我想构造Xpath,我想我可以使用下面的轴或子轴来访问在第1列中找到文本“CRM”的复选框 我需要一些帮助来构建Xpath。 这就是我迄今为止所尝试的: 此Xpath将在第2列中找到所有复选框: `//table[@class="myflextable"]//tr//td[text()="CRM"]/followin

我有一个包含一些行和列的HTML表。
表中有一行在第1列中有文本“CRM”,在第2列中有复选框。 我想从此行中选择复选框,而复选框位于第2列

我想选中第1列有文本“CRM”的复选框

我想构造Xpath,我想我可以使用下面的轴或子轴来访问在第1列中找到文本“CRM”的复选框

我需要一些帮助来构建Xpath。 这就是我迄今为止所尝试的:

此Xpath将在第2列中找到所有复选框:

`//table[@class="myflextable"]//tr//td[text()="CRM"]/following::tr/td[2]//input`
此XPath将在第1列中找到文本为“CRM”的单元格。这是一个好的开始,因为我想从文本“CRM”开始

如何转到复选框所在的下一列

HTML是:

<table class="myflextable">
    <colgroup>
    <tbody>
    <tr class="myflextableheader">
    <tr>
        <td>
<span class="gwt-CheckBox">
<input id="gwt-uid-1377" type="checkbox" value="on" tabindex="0" checked=""/>
<label for="gwt-uid-1377"/>
</span>
        </td>
        <td>CRM</td>
    </tr>
    <tr>
        <td>
<span class="gwt-CheckBox">
<input id="gwt-uid-1378" type="checkbox" value="on" tabindex="0" checked=""/>
<label for="gwt-uid-1378"/>
</span>
        </td>
        <td>ESCR</td>
    </tr>
    <tr>
        <td>
<span class="gwt-CheckBox">
<input id="gwt-uid-1379" type="checkbox" value="on" tabindex="0" checked=""/>
<label for="gwt-uid-1379"/>
</span>
        </td>
        <td>ORCHARD</td>
    </tr>
    <tr>
        <td>
<span class="gwt-CheckBox">
<input id="gwt-uid-1380" type="checkbox" value="on" tabindex="0" checked=""/>
<label for="gwt-uid-1380"/>
</span>
        </td>
        <td>Edit_test</td>
    </tr>
    </tbody>
</table>

</body>
</html>

客户关系管理
ESCR
果园
编辑测试
谢谢,
Riaz

您可以在包含所需文本的td之后获得以下第一个输入

//table//td[text()='CRM']/following::input[1]
或者也可以使用表类名称:

 //table[@class='myflextable']//td[text()='CRM']/following::input[1]

您可以在包含所需文本的td之后获得以下第一个输入

//table//td[text()='CRM']/following::input[1]
或者也可以使用表类名称:

 //table[@class='myflextable']//td[text()='CRM']/following::input[1]

是否要在id为
gwt-uid-1378
“//table//td[text()='CRM']/following::input[1]”
?是或id 1377。ID是动态的,所以我不能使用[@ID=“1377”]我想通过文本搜索,然后上面的代码会起作用,你试过了吗?是的,刚刚试过。它起作用了。谢谢将其作为答案,我可以将其标记为已接受。您是否希望在id为
gwt-uid-1378
“//table//td[text()='CRM']/following::input[1]”
?是或id 1377的复选框。ID是动态的,所以我不能使用[@ID=“1377”]我想通过文本搜索,然后上面的代码会起作用,你试过了吗?是的,刚刚试过。它起作用了。谢谢把它作为一个答案,我可以标记为接受