【问题标题】:Cannot click tag <a> with <i class> selenium python无法使用 <i class> selenium python 点击​​标签 <a>
【发布时间】:2020-06-17 02:05:38
【问题描述】:

我想用python为我的大学做一个简单的考勤自动化,我做这个是为了方便,因为这需要很多按钮来点击,但是我不能点击标签&lt;a&gt;里面有标签&lt;i&gt;

<a href="http://siakad.polinema.ac.id/mahasiswa/tr_absensi/add" 
class="btn btn-sm green-meadow btn-add-data" id="btn-add-wizard">
<i class="fa fa-plus"></i> Absen</a>

我使用了这个wait 函数,但仍然没有指向那个链接。它没有显示任何结果。 Process finished with exit code 0

wait(driver, 10).until(EC.element_to_be_clickable((By.XPATH,"//a[contains(@href, ""'http://siakad.polinema.ac.id/mahasiswa/tr_absensi/add')]"))).click()

我尝试使用IDLINK_TEXT 仍然显示Process finished with exit code 0

谢谢,为我的英语道歉。英语不是我的主要语言。如果您需要有关我的问题的更多信息,请告诉我。

【问题讨论】:

    标签: python selenium xpath css-selectors webdriverwait


    【解决方案1】:

    要单击文本为 Absen 的元素,您必须将 WebDriverWait 诱导为 element_to_be_clickable(),并且您可以使用以下任一定位器策略

    • 使用CSS_SELECTOR

      WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "a.btn.btn-sm.green-meadow.btn-add-data#btn-add-wizard[href$='id/mahasiswa/tr_absensi/add']"))).click()
      
    • 使用XPATH

      WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//a[@class='btn btn-sm green-meadow btn-add-data' and @id='btn-add-wizard'][contains(@href, 'id/mahasiswa/tr_absensi/add')]"))).click()
      
    • 注意:您必须添加以下导入:

      from selenium.webdriver.support.ui import WebDriverWait
      from selenium.webdriver.common.by import By
      from selenium.webdriver.support import expected_conditions as EC
      

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-19
      • 1970-01-01
      • 2019-02-27
      • 2016-06-01
      • 2019-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多