所以我在定位以下元素时遇到了一些麻烦<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 选择器找到元素 == [名称="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)
根据您共享的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")