【问题标题】:Selenium Python | Type in input硒蟒 |输入输入
【发布时间】:2021-02-18 06:32:50
【问题描述】:

我正在尝试在 Python google chrome 上使用 selenium 输入输入类别。我想发送密钥 1234 来测试配置,但是,我收到错误。我相信我在代码中遗漏了一些东西......对不起,如果这是超级基础,我还在学习硒......我已经尝试使用@class并收到错误。

driver.find_element_by_xpath("//input[='']/parent::div").send_keys('1234')

我收到此错误:

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"/html/body/div[9]/div/div/div/div[1]/div/div/div/div/div[2]/div[1]/div[1]/div[1]/div/input"}   
(Session info: chrome=88.0.4324.150)

我已经得出结论,html 应该代表 value=1234,但是,我仍然在努力处理代码。

【问题讨论】:

  • 首先,什么错误,其次尝试右键单击检查器然后复制>复制完整的xpath。
  • 我需要输入值的位置;我正在为此苦苦挣扎......这是xpath:/html/body/div[9]/div/div/div/div[1]/div/div/div/div/div[2]/div[1]/div[1]/div[1]/div/input
  • 我认为问题在于您的 xpath 不正确。更正您的 xpath 将解决问题。
  • 粘贴那个 xpath 而不是旧的
  • 你能以文本格式而不是图像和部分代码发布 html 吗?我们更容易给您正确的答案。链接到您正在使用的网站甚至更好。

标签: python selenium-webdriver xpath css-selectors nosuchelementexception


【解决方案1】:

要向元素发送字符序列,您可以使用以下任一Locator Strategies

  • 使用CSS_SELECTOR

    driver.find_element(By.CSS_SELECTOR, "input.[aria-label='Amount'][placeholder='0']").send_keys("1234")
    
  • 使用XPATH

    driver.find_element(By.XPATH, "//input[@aria-label='Amount' and @placeholder='0']").send_keys("1234")
    

所需元素是动态元素,因此理想情况下,将字符序列发送到您需要为WebDriverWait 诱导element_to_be_clickable() 的元素,您可以使用以下任一@987654324 @:

  • 使用CSS_SELECTOR:

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input.[aria-label='Amount'][placeholder='0']"))).send_keys("1234")
    
  • 使用XPATH:

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//input[@aria-label='Amount' and @placeholder='0']"))).send_keys("1234")
    
  • 注意:您必须添加以下导入:

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

参考文献

您可以在NoSuchElementException 上找到一些相关讨论:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-05
    • 2020-09-13
    • 1970-01-01
    • 2015-04-05
    • 2019-10-08
    • 2016-05-28
    相关资源
    最近更新 更多