【问题标题】:Python Selenium Find Element by NamePython Selenium 按名称查找元素
【发布时间】:2016-06-08 13:15:39
【问题描述】:

我正在使用 Python Selenium 并尝试在没有 ID 的输入框中进行选择

<div class="form-group"><input type="email" class="form-control" name="quantity" placeholder="Type a quantity"></div>

inputElement = driver.find_element_by_id("quantity")

按名称选择此元素的最佳方法是什么?

【问题讨论】:

    标签: python selenium selenium-webdriver ui-automation webautomation


    【解决方案1】:

    find_element_by_name() 方法适合这里:

    driver.find_element_by_name("quantity")
    

    【讨论】:

    • 答案几乎在标题中;)
    【解决方案2】:

    我已经多次使用这种方法从元素中收集属性:

    for i in browser.find_elements_by_class_name("form-control"):
        print i.get_attribute("name")
    

    【讨论】:

      【解决方案3】:

      最好使用显式等待:

      from selenium import webdriver
      from selenium.webdriver.support.ui import WebDriverWait
      from selenium.webdriver.common.by import By
      from selenium.webdriver.support import expected_conditions as EC
      
      
      driver = webdriver.Chrome()
      wait = WebDriverWait(driver, 5)
      input_element = wait.until(EC.presence_of_element_located((By.NAME, 'quantity')))
      

      更多关于等待here

      【讨论】:

        猜你喜欢
        • 2014-09-19
        • 2018-12-06
        • 1970-01-01
        • 2015-07-12
        • 2021-03-05
        • 2023-01-03
        • 2021-06-28
        • 1970-01-01
        • 2018-10-12
        相关资源
        最近更新 更多