Python Selenium-2个同名按钮

问题描述 投票:0回答:2

我试图单击一个按钮,但是我无法这样做,因为有两个名称类别相似的按钮,并且我无法单击所需的按钮。

    Button 1: 
<button class="dropdown-trigger"> 
   <i class="icon2-arrow-down">
      ::before

    Button 2:
<button class="dropdown-trigger is visible-desktop"> 
   <i class="icon2-arrow-down arrow-icon">
      ::before

我只想单击按钮1,您能帮我吗?

python selenium button element
2个回答
0
投票

如果您使用的是Chrome浏览器,(我不知道其他浏览器的开发人员的工具,但必须有类似的东西...),很容易挑选出唯一的元素。

  1. 按'F12'键打开Chrome开发人员的工具。 (页面可能会刷新。)
  2. 右键单击要关注的按钮。
  3. 单击“检查”。
  4. 在浏览器左侧的开发人员工具中,将有所更改,并且HTML源代码中应该有一个灰色框。 (如果将鼠标移到它上面,则选中的按钮应突出显示)
  5. 右键单击灰色线,然后单击“复制-复制选择器”。 (按照您的喜好,您可以复制其他功能以找到该元素)
  6. 您现在可以使用复制的选择器(或任何功能)来查找正好指定的一个元素。

[如果有任何疑问,请在此帖子上发表评论。谢谢!


0
投票

您将使用xpath这样操作:

WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, //button[@class='dropdown-trigger']"))).click()

在脚本顶部添加这些导入:

from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
© www.soinside.com 2019 - 2024. All rights reserved.