Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.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_Selenium Webdriver_Xpath - Fatal编程技术网

Python 我可以在使用同级语句之前或之后获取值吗?

Python 我可以在使用同级语句之前或之后获取值吗?,python,selenium-webdriver,xpath,Python,Selenium Webdriver,Xpath,要在使用同级语句之前或之后获取值吗 HTML代码 <tr><td width="295" align="right" class="bg1"><div class="barBg2"><div class="info" style="width:60%;"></div></div></td><td width="50" align="center" class="bg1">60%</td>&

要在使用同级语句之前或之后获取值吗

HTML代码

<tr><td width="295" align="right" class="bg1"><div class="barBg2"><div class="info" style="width:60%;"></div></div></td><td width="50" align="center" class="bg1">60%</td><td width="110" align="center" class="bg3">半場控球率</td><td width="50" align="center" class="bg1">40%</td><td width="295" align="left" class="bg1"><div class="barBg"><div class="info" style="width:40%;"></div></div></td><iframe id="tmp_downloadhelper_iframe" style="display: none;"></iframe></tr>
预期产量

60% 40%
谓词意味着您希望选择前面和后面同级的元素,并使用“半場控球率" 文本内容。如果要选择具有“文本”前面或后面同级的元素半場控球率“,你需要

[preceding-sibling::td="半場控球率" or following-sibling::td="半場控球率"]
另外请注意,在您的示例中,
text
是WebElements的列表。如果您想获得文本节点,可以尝试

texts = [td.text for td in driver.find_elements_by_xpath('//td[(preceding-sibling::td="半場控球率" or following-sibling::td="半場控球率") and not(div)]')]

您能为这两种情况共享HTML示例吗?共享URL(至少对我来说)是inaccessible@MaryUrl
http://shorturl.at/iksx1
未得到解决。可能它已更改。亲爱的,更改了URL,谢谢!您的预期输出是
60%40%
,我在UI中没有看到这些值。亲爱的,正是“/*[@id=“matchData”]/div[5]中的xpath/table/tbody/tr[12]/td[2]”和“/*[@id=“matchData”]/div[5]/table/tbody/tr[12]/td[4]”亲爱的,似乎没有输出
[preceding-sibling::td="半場控球率" or following-sibling::td="半場控球率"]
texts = [td.text for td in driver.find_elements_by_xpath('//td[(preceding-sibling::td="半場控球率" or following-sibling::td="半場控球率") and not(div)]')]