如何解决打印出来的下拉列表元素显示在一个大段落中,而不是单独的行
大家好,我使用硒,并在下拉列表中打印了所有元素
from selenium import webdriver
from selenium.webdriver.common.by import By
PATH = "C:\Program Files (x86)\chromedriver.exe"
driver = webdriver.Chrome(PATH)
driver.get("url")
listofelements = driver.find_elements(By.XPATH,'xpath')
for i in range(len(listofelements)):
print(listofelements[i].get_attribute('textContent'))
它可以工作,但不符合我的预期。 发生的是,它只循环一次,但是里面的所有元素都像一个大段落一样被打印出来,好像它只是一个html元素一样,
香蕉-橙-苹果-葡萄
代替:
香蕉
橙色
苹果
葡萄
这是HTML代码的样子:
<select>
<option value='1'>banana</option>
<option value='2'>orange</option>
<option value='3'>apple</option>
<option value='4'>grape</option>
</select>
有多个选项,但是循环仅执行一次,并将其全部打印在一个大段中。为什么会发生这种情况,如何使它在单独的行中逐个打印每个选项?
解决方法
如果我对您的理解正确,那么您可能正在寻找类似的东西:
listofelements = browser.find_elements_by_xpath('//option')
for elem in listofelements:
print(elem.text)
输出(基于您的示例html):
banana
orange
apple
grape
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。