IE上的Python Selenium无法找到元素?

时间:2018-08-21 17:39:18

标签: python selenium

因此我在查找以下元素时遇到了一些麻烦 <input type="text" class="black_ar" maxlength="255" size="10" name="mrn">。我试图使用xpath来定位它,但它说“列表对象没有属性send_keys”并使用driver.find_element_by_class_name('black_ar')给出错误“无法使用css选择器== .black_ar找到元素”。我不知道该怎么办:(请帮助

错误:无法使用CSS选择器== .black_ar

查找元素
    driver.implicitly_wait(5)
    mrnbox = driver.find_element_by_class_name('black_ar').send_keys(mrn)
    print(mrn)

出现错误:无法使用css选择器== [name =“ mrn”]查找元素

    driver.implicitly_wait(5)
    mrnbox = driver.find_element_by_name('mrn').send_keys(mrn)
    print(mrn)

给出错误:无法使用xpath查找元素

 driver.implicitly_wait(5)
    mrnbox = 
driver.find_element_by_xpath('/html[1]/body[1]/table[1]/tbody[1]/tr[1]/td[1]/a[1]/form[1]/table[1]/tbody[1]/tr[2]/td[1]/table[1]/tbody[1]/tr[3]/td[2]/span[1]/table[1]/tbody[1]/tr[1]/td[2]/input[1]').send_keys(mrn)
    print(mrn)

1 个答案:

答案 0 :(得分:0)

根据您共享的 HTML ,您可以使用以下任一解决方案共享字符序列到所需元素:

  • css_selector

    driver.find_element_by_css_selector("input.black_ar[name='mrn']").send_keys("Collette jorike")
    
  • xpath

    driver.find_element_by_xpath("//input[@class='black_ar' and @name='mrn']").send_keys("Collette jorike")
    

更新

由于看到的错误为“无法找到具有...的元素”错误,您需要诱使 WebDriverWait 使所需的元素可点击,您可以使用以下任一解决方案:

  • css_selector

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input.black_ar[name='mrn']"))).send_keys("Collette jorike")
    
  • xpath

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//input[@class='black_ar' and @name='mrn']"))).send_keys("Collette jorike")