Python 有没有办法通过元素的子元素来定位元素?

Python 有没有办法通过元素的子元素来定位元素?,python,python-3.x,selenium,xpath,Python,Python 3.x,Selenium,Xpath,我试图找到一个元素,该元素与其他元素没有区别,但其子元素与类中的其他元素不同。HTML: <div class="grid x4" id="grid"> <div><span class="fa fa-book" style="display: none;"></span></div> #⬅for example this element <div><span class="fa fa-birthday

我试图找到一个元素,该元素与其他元素没有区别,但其子元素与类中的其他元素不同。HTML:

<div class="grid x4" id="grid">
    <div><span class="fa fa-book" style="display: none;"></span></div> #⬅for example this element
    <div><span class="fa fa-birthday-cake" style="display: none;"></span></div>
    <div><span class="fa fa-bolt" style="display: none;"></span></div>
    <div><span class="fa fa-cube" style="display: none;"></span></div>
    <div><span class="fa fa-coffee" style="display: none;"></span></div>
    <div><span class="fa fa-car" style="display: none;"></span></div>
    <div><span class="fa fa-birthday-cake" style="display: none;"></span></div>
    <div><span class="fa fa-book" style="display: none;"></span></div>
    <div><span class="fa fa-cube" style="display: none;"></span></div>
    <div><span class="fa fa-bomb" style="display: none;"></span></div>
    <div><span class="fa fa-car" style="display: none;"></span></div>
    <div><span class="fa fa-bomb" style="display: none;"></span></div>
    <div><span class="fa fa-cubes" style="display: none;"></span></div>
    <div><span class="fa fa-coffee" style="display: none;"></span></div>
    <div><span class="fa fa-cubes" style="display: none;"></span></div>
    <div><span class="fa fa-bolt" style="display: none;"></span></div>
</div>

是的,您选择了具有xpath的父级 在这种情况下,当您知道父标记是div时,只需使用以下命令:

elements=browser。通过xpath('//span[@class=“fa-fa-book”]/parent::div'查找元素

如果您不知道确切的父项是什么,您可以在我添加时将标记名替换为
*

。单击()显示:元素[0]。单击()索引器:列表索引超出范围似乎没有这样的元素,但有is@Pautodidactic尝试执行
元素[0]时遇到的唯一异常。单击()
元素ClickInterceptedException
,除非等待元素可单击,否则这是有意义的。能否显示分配
元素的代码
以及以后如何处理?如果只是查找第一个元素,只需使用
查找元素
(单数),即可执行
元素。单击()
。值得注意的是,您还可以使用“../”访问父元素
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

browser = webdriver.Firefox()
browser.get('http://zzzscore.com/memory/')
elements = browser.find_elements_by_xpath('//span[@class= "fa fa-book"]')