【问题标题】:Simple question for Selenium 'find_element_by_XPath'Selenium 'find_element_by_XPath' 的简单问题
【发布时间】:2021-05-17 10:10:29
【问题描述】:

我对 Python 非常陌生,我想尝试为以下凭据进行银行自动化:

https://olb.ccb.com/CCBIS/V6/STY4/B5/login_hk.jsp

我尝试使用以下代码将登录 ID 发送到屏幕,但它显示以下错误:

driver.find_element_by_xpath('/html/body/form[1]/div/table/tbody/tr[2]/td/div/input').send_keys('abcd_1234')

selenium.common.exceptions.NoSuchElementException: 消息:没有这样的 元素:无法定位元素: {"method":"xpath","selector":"/html/body/form1/div/table/tbody/tr2/td/div/input"}

有人可以帮我如何将密钥发送到输入吗?

谢谢!

【问题讨论】:

    标签: python selenium selenium-webdriver xpath


    【解决方案1】:

    改用以下 XPATH:

    driver.find_element_by_xpath("//INPUT[@id='USERID']").send_keys("abcd_1234")

    【讨论】:

      【解决方案2】:

      如果您更关心使用 webdriver 等待的稳定性和速度,则更理想的方法是。

      wait = WebDriverWait(driver, 10)
      driver.get("https://olb.ccb.com/CCBIS/V6/STY4/EN/login_hk.jsp")
      wait.until(EC.frame_to_be_available_and_switch_to_it((By.ID, "fclogin")))
      wait.until(EC.element_to_be_clickable((By.ID, "USERID"))).send_keys("admin")
      wait.until(EC.element_to_be_clickable((By.ID, "LOGPASS"))).send_keys("admin")
      driver.switch_to.default_content()
      

      导入

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

      【讨论】:

        【解决方案3】:

        我检查了网站,发现问题不仅是因为您的 xpath。 登录名放在另一个 iframe 中。因此,您需要切换到该 iframe 才能将密钥发送到登录名和密码字段。此外,您应该使用 id 而不是绝对 xpath。 试试下面的代码。我已经对其进行了测试,所以它应该可以工作。

            driver.get("https://olb.ccb.com/CCBIS/V6/STY4/EN/login_hk.jsp")
            iframe = driver.find_element_by_id("fclogin")
            driver.switch_to.frame(iframe)
            time.sleep(2)
            driver.find_element_by_id("USERID").send_keys("admin")
            time.sleep(2)
            driver.find_element_by_id("LOGPASS").send_keys("admin")
            time.sleep(2)
            driver.switch_to.default_content()
            driver.quit()
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-08-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多