当前位置: 首页 > 知识库问答 >
问题:

Selenium-尝试使用“contains”根据表单元格的内容定位表单元格

程卓君
2023-03-14

这是html代码:

<div id="listMain" class="listMain">
    <table id="listMainTable" class="listTable" >
    <thead>
    <tbody id="mainTableBody">
        <tr id="Node0" class="row"      tabindex="0" >
        <tr id="Node1" class="alternateRow"     tabindex="-1" >
        <tr id="Node2" class="row"      tabindex="-1" >
        <tr id="Node3" class="alternateRow"     tabindex="-1" >
        <tr id="Node4" class="row"      tabindex="-1" >
            <td class="cell" >
            <td class="cell" >
                <div id="detailView_listColumn_4" style="overflow: hidden" aria-describedby="detailView_mainTooltip">TestReport</div>
            </td>
            <td class="cell" >
            <td class="cell" >
        <tr id="Node5" class="row"      tabindex="0" >
        <tr id="Node6" class="alternateRow"     tabindex="-1" >

</tbody>
</table>
</div>

driver.findelement(by.xpath(“//table[@id='list maintable']//tr[contains(TD[1],'TestReport')]/td[2]”));

driver.findelement(by.xpath(“//table[@id='list maintable']/tbody/tr/div[contains(text(),'testreport')]”);

两者都抛出由:org.openqa.selenium.NoSuChelementException引起的错误:无法定位元素。

我不知道这是否与“TestReport”包含在表单元格的“div”中有关。在这种情况下,我如何使用“contains”访问特定的单元格?

共有1个答案

汲品
2023-03-14

你可以试试这样的东西

//div[contains(text(),'TestReport')]

谢谢你,穆拉利

 类似资料:
  • 这是html代码: 我想访问第5行第2列的内容。 我可以通过直接访问给出行和列编号的单元格来实现这一点:driver。findElement(By.xpath(“//table[@id='listMainTable']//tr[5]/td[2]”); 但是,我想通过使用“包含”访问单元格的内容。 我尝试了以下2种方法: 驾驶员findElement(By.xpath(“//table[@id='l

  • 这里有一个非常基本的例子,我试图根据单元格中存在的特定字符串值来给特定的单元格着色。我输入打印报表,然后点击返回“绿色”,返回“橙色”,等等...点,但在运行时,我只得到灰色和白色交替的行颜色,没有我特定的单元格颜色。我使用的css是直接从《瓦丁之书》中提取的,我认为这很简单。也许我遗漏了一些小事。 单元格样式生成器代码: CSS: 当我查看浏览器中实际呈现的内容时,这是单元格的样子:

  • 我在细胞上有两个标签。如果标签只显示一行文本,那么单元格看起来很好。但是如果有更多的文本,并且如果标签上的行被包裹起来,那么标签/文本就会离开单元格。附加图像。 我当前的代码: 解决方案我试图修复它: 这就是解决方案的外观。如何根据单元格的内容更新单元格的高度?

  • 我有一个预定义的excel文件,这是一种形式,其中大部分的信息已经提到,但我必须只输入姓名,地址等细节从我的应用程序用Java。 我可以存储单元格(如A12、B20等),并使用Apache POI库和方法轻松地更新这些单元格。但我希望它是动态的。例如,如果用户将名称单元格从A12更改为B12,Java代码不应该被修改。

  • 我正在用Selenium IDE测试一个包含表的网页。我想通过CSS选择器验证表格单元格(行,列)中的文本。表的HTML结构非常简单。下面是一个表的示例,其中每一行表示一个人的不同属性: 在Selenium IDE中,我能够使用以下CSS选择器在包含AGE的表行中找到“49”: 当我将这些方法导出为JUnit代码时,问题就来了。以下JUnit代码块工作: (使用方法1) WebDriver.Fin