因此我在查找以下元素时遇到了一些麻烦
<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)
答案 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")