【发布时间】:2020-11-18 22:35:14
【问题描述】:
我在这个页面上:
https://fantasy.premierleague.com/statistics
当您单击播放器旁边的任何“i”图标时,会出现一个弹出窗口。然后,我想得到玩家的姓氏。这就是“检查元素”的样子(“空白”实际上出现在一个框中):
<h2 class="ElementDialog__ElementHeading-gmefnd-2 ijAScJ">
Kevin
whitespace
De Bruyne
我想要做的是获取出现在空格之后的文本。我可以使用以下方法获取全文(即姓名和姓氏):
player_full_name = driver.find_element_by_xpath('//*[@class="ElementDialog__ElementHeading-gmefnd-2 ijAScJ"]').text
但是我怎样才能只获得姓氏(即出现在空格之后的内容)?请注意,对于其他玩家来说,它可能是这样的:
<h2 class="ElementDialog__ElementHeading-gmefnd-2 ijAScJ">
Gabriel Fernando
whitespace
de Jesus
或者像这样:
<h2 class="ElementDialog__ElementHeading-gmefnd-2 ijAScJ">
Dean
whitespace
Henderson
即拆分文本并取最后一两个元素是行不通的。
【问题讨论】:
-
添加您的代码试验以重现案例。
-
.split 在空白字符上 - '\n' 或其他什么?元素 [-1] 应该是姓氏。
-
为什么不在同一页面上使用以下 XPath 来获取玩家名称?
//div[starts-with(@class,"ElementInTable__Name")]?因为像Gabriel Fernando de Jesus这样的玩家缺少de? -
非常感谢大家 - @E.Wiest:是的,这是一个解决方案,但我仍然想知道如何去做。
标签: javascript python selenium xpath css-selectors