在selenium和python中获取类的值

在selenium和python中获取类的值,python,selenium,selenium-webdriver,Python,Selenium,Selenium Webdriver,这会打印出大量的None 我没有得到它,因为我访问了它的类,提取了值,但它返回None 如果可能的话,我希望避免这样做: medicationstextbox_locator = "//*[@class='medMedications text-field ']" medicationstextbox_locatorTextBox = driver.find_elements_by_xpath(medicationstextbox_locator) for i in medicationste

这会打印出大量的
None

我没有得到它,因为我访问了它的类,提取了值,但它返回
None

如果可能的话,我希望避免这样做:

medicationstextbox_locator = "//*[@class='medMedications text-field ']"
medicationstextbox_locatorTextBox = driver.find_elements_by_xpath(medicationstextbox_locator)

for i in medicationstextbox_locatorTextBox:
    print(i.get_attribute("values"))
因为我必须定义每个文本框,而文本框的数量事先是未知的。这样做也需要很多时间。那么,我们如何解决这个问题呢

打印(i.get_属性(“值”))

没有
属性,因此您得到的是
None
s。有
属性

除此之外,您的第一种方法完全是有意义的,应该是有效的

我们可以通过
find\u elements\u by\u CSS\u selector()
使用“CSS选择器”使其更简单一些:

或者,您可以检查
id
属性是否包含
药物

medications = driver.find_elements_by_css_selector("input.medMedications")

# count
print len(medications)

# values
for medication in medications:
    print medication.get_attribute("value")
或者,对于XPath:

medications = driver.find_elements_by_css_selector("input[id*=Medications]")

这就是我错过的?一个“s”?哈哈哈哈。谢谢你,成功了。我不敢相信我已经因为一个“s”笑了好几个小时了,谢谢you@HalcyonAbrahamRamirez这是常有的事。大多数情况下,一个人会在提问时解决问题(“把你的问题告诉橡皮鸭”案例)
medications = driver.find_elements_by_css_selector("input.medMedications")

# count
print len(medications)

# values
for medication in medications:
    print medication.get_attribute("value")
medications = driver.find_elements_by_css_selector("input[id*=Medications]")
medications = driver.find_elements_by_xpath("//input[contains(@id, 'Medications']")