Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/34.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
Html 如果一个元素只有一个标记,我怎么能只从中获取第一级元素呢_Html_Css_Xpath_Selenium Webdriver - Fatal编程技术网

Html 如果一个元素只有一个标记,我怎么能只从中获取第一级元素呢

Html 如果一个元素只有一个标记,我怎么能只从中获取第一级元素呢,html,css,xpath,selenium-webdriver,Html,Css,Xpath,Selenium Webdriver,如果一个元素只有一个标记,那么有没有办法只从该元素中获取第一级元素?我有下面的html,只想从找到的trs的第一级获取所有的tr标记。而不是tr标签中的那些 <tbody> <tr> // I want this <td> <td> <div> <table> <colgroup span="9"> <tbody> <tr&

如果一个元素只有一个标记,那么有没有办法只从该元素中获取第一级元素?我有下面的html,只想从找到的trs的第一级获取所有的tr标记。而不是tr标签中的那些

<tbody>
 <tr> // I want this
  <td>
  <td>
   <div>
    <table>
      <colgroup span="9">
        <tbody>
          <tr> // Don't want this
           <td>
 <tr> // I want this
  <td>
  <td>
   <div>
    <table>

等等。

我建议您使用类来选择元素

编辑:

另一篇帖子也有同样的问题

使用
.MyClass>tbody>tr>td{border:solid 1px red;}

如果使用jQuery,可以使用以下方法将其作为目标:

$("tbody > tr").html()
这将选择紧跟在tbody之后的tr


要获取下一行,您需要查找其同级。

是的,但首先需要在所有行上设置所需的样式,然后将嵌套表的行重置为其默认样式

.table,td{边框:1px纯黑色;} /*首先设置所需的样式,但在所有行上设置*/ tr{背景色:黄色;} /*然后将嵌套表的行重置回其默认样式*/ 表tr{背景色:白色;} 测验 测验 测验 测验 测验 测验 测验
tbody>tr这将选择第一级tr/tbody/tr-仅带一条斜线children@lotfiolakehaltbody>tr将选择作为任何tbody元素的直接子元素的所有tr元素。OP希望排除嵌套表。@splash58/tbody/tr不是有效的CSS语法。@lotfiolakehal在问题的标题中表示,他需要能够仅使用HTML标记访问元素。因此,他不能简单地添加一个类。CSS设计师通常无法修改他们正在设计的HTML样式。考虑到问题是用selenium标记的,似乎就是这种情况。在tr元素上调用.val似乎有点愚蠢,因为它的目的是获取表单元素的值…通常不适合提供包含问题中未标记的技术的解决方案。此外,您的解决方案将发现每个tr元素都是tbody元素的子元素,而tbody元素不能解决OPs问题。他想在查询中排除嵌套的tbody——你的不会这样做。然而,问题表明,只需要标记结构。有时候,CSS设计师无法更改HTML。关于您的编辑:OP声明他们只有HTML结构可以继续。您所指向的解决方案需要将类添加到顶级表中,这对于CSS设计者来说并不总是可能的。