我有一张有很多链接的桌子。ID都是唯一的,但不符合实际显示的文本,所以我有一些麻烦。你知道吗
例如
<tr>
<td><a id="011" href="/link">Project 1</a></td>
</tr>
<tr>
<td><a id="235" href="/link">Project 2</a></td>
</tr>
<tr>
<td><a id="033" href="/link">Project 3</a></td>
</tr>
<tr>
<td><a id="805" href="/link">Project 4</a></td>
</tr>
我只知道ahref(即项目1)中的文本,我想搜索它并单击它。我还没有弄清楚这个问题,我已经在玩find\ element\ by\ uxpath有一段时间了。你知道吗
我一直在用
selectproject = browser.find_element_by_xpath("//a[contains(.,projectname)]").click();
(projectname是一个每次迭代都会更改的变量) 我认为找到元素是可行的,因为脚本运行了,但是没有点击。我想这是因为我实际上并不是在搜索ahref,而只是在搜索文本?你知道吗
如果您的要求是“点击链接项目1”,那么您应该使用即作为定位器。无需使用XPath。你知道吗
.find_element_by_partialLinkText()
定位器策略应该考虑由于额外的span
元素而产生的任何额外的空白填充。你知道吗注意:我编写Java,因此上面的Python语法可能已关闭。但这些方法必须存在。你知道吗
以下是您问题的答案:
如果要单击带有文本
Project 1
的链接,可以使用以下代码行:更新:
正如您所提到的
Project 1
部分是动态的,因此您可以尝试构建一个单独的function()
来单击这些链接。使用所有项目名逐个调用函数,如下所示(函数位于Java
考虑根据所需的语言绑定进行转换):现在可以从
main()
类调用:clickProject(Project1)
如果这能回答你的问题,请告诉我。你知道吗
相关问题 更多 >
编程相关推荐