Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/286.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/3/html/74.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 选择其子/孙辈/的元素。。包含具有指定模式的元素_Python_Html_Xpath_Lxml - Fatal编程技术网

Python 选择其子/孙辈/的元素。。包含具有指定模式的元素

Python 选择其子/孙辈/的元素。。包含具有指定模式的元素,python,html,xpath,lxml,Python,Html,Xpath,Lxml,我正在使用lxml,使用库的html模块 如何获取包含具有特定特征的元素的元素 例如: <TR> <TD>Welcome</TD> <TD>other</TD> </TR> <TR> <TD>Bye Bye</TD> <TD>another</TD> </TR> 欢迎 其他 再见 另一个 我如何选择包含欢迎词的元素? 不知道如何写下

我正在使用
lxml
,使用库的
html
模块

如何获取包含具有特定特征的元素的元素

例如:

<TR>
  <TD>Welcome</TD>
  <TD>other</TD>
</TR>
<TR>
  <TD>Bye Bye</TD>
  <TD>another</TD>
</TR>

欢迎
其他
再见
另一个
我如何选择包含欢迎词的
元素?
不知道如何写下正确的
xpath
模式有很多方法。我对xPath不是非常熟练,所以我会这样做

myTree = html.fromstring(open(somePath to my htmlfile).read())
rows = [ e for e in myTree if e.tag == 'tr']
for row in rows:
    cells = [e for e in row if e.tag == 'td']
    for cell in cells:
        if cell.text_content = 'Welcome'
        print ' I have the row I want'
        break

当程序中断该行时,您将拥有行中的第一行,该行有一个带有单词Welcome的单元格。您可以对此进行大量修改。也就是说,如果您在光标处键入row,那么将显示的row元素就是您的特定行

e = doc.xpath('//tr[td[text()="Welcome"]]')[0]