Python Selenium 通过 class, if, a (href or class) 查找具有以下兄弟元素的元素

Python Selenium find element with following sibling by class, id, a (hreff or class)

我需要帮助找到一个确切的元素,然后根据特定的 id 号用 following-sibling 单击它,然后 classes 和一个(href 或 class)。 这是简化的代码,下面的例子多次出现只是不同的 id:

<div class="class_1" id="1234567">
   <div class="class_2">
      <div class="class_3">
         <div class="class_3.1">
         <div class="class_3.2">
         <div class="class_3.3">
            <div class="class_3.3.1">
               <div class="class_3.3.1.1">
               <div class="class_3.3.1.2">
               <div class="class_3.3.1.3">
                  <a href="javascript:void(0)" class="event-media-icon live-icon icon-white" data-sport="soccer"></a>
...

我如何找到一个带有 id 和 class 的元素,例如像这样的东西并点击它:

driver.find_element(By.XPATH, 'class=class_1 and id="2222222" and class="event-media-icon live-icon icon-white').click()

您正在寻找的 xpath 将如下所示:
//div[@class='class_1' and(@id='1234567')]//a[@data-sport='soccer']
我猜上面 div 和目标 a 之间的元素并不重要,所以我们可以省略它们。
href 值看起来也不是唯一的,所以我更喜欢使用可以更独特的 data-sport 属性。
为了给出更准确的答案,我需要使用开发工具查看该网页。

这个 xpath 应该也能正常工作

.//div[@class='class_1' and @id='1234567']//following-sibling::a[@data-sport='soccer']