Python selenium获取选定元素的标记值

Python selenium获取选定元素的标记值,python,selenium,Python,Selenium,我使用下面的代码查找class value=“ng\u isolate\u scope”的所有元素。不过,我需要做的是捕获所选元素的标记值,因为我需要这些信息进行进一步分析 <span class="ng-isolate-scope"> <div class="ng-isolate-scope"> 但是,tag_value()不存在。如何捕获元素的标记值? 谢谢如果我理解正确,您需要标签文本: elems = driver.find_elements_by_class_

我使用下面的代码查找class value=“ng\u isolate\u scope”的所有元素。不过,我需要做的是捕获所选元素的标记值,因为我需要这些信息进行进一步分析

<span class="ng-isolate-scope">
<div class="ng-isolate-scope">
但是,tag_value()不存在。如何捕获元素的标记值?
谢谢

如果我理解正确,您需要标签文本:

elems = driver.find_elements_by_class_name("ng-isolate-scope")
for elem in elems:
    tag_value = elem.text # get text of an element
    print("'element found with tag value = " + tag_value + "'")
例如:

<span class="ng-isolate-scope">span tag</span>
<div class="ng-isolate-scope">div tag</div>

编辑:

输出:

div
参考。

更新: 这有点棘手,这里我的方法是获取元素的outerHTML,然后拆分第一个单词(即标记名)。因此,您可以尝试:

    elements = driver.find_elements_by_class_name("ng-isolate-scope")
    for element in elements:
      outerhtml = element.get_attribute('outerHTML ') // to extract outerHTML 
      tag_value=outerhtml.split('',1)[0] // to extract first word
      print("element found with tag value = " + tag_value)

谢谢你,安德烈。我需要的是实际的标记值“span”和“div”。我认为elem.text做不到这一点。我再举一个更具体的例子。如果您转到这个示例页面:并检查“Hide/Show Example”元素的html代码,我需要捕获的是该元素的标记,在本例中是“input”。非常感谢Andrei。我想要硒溶液,但感谢您的支持。谢谢您的回答,但这似乎是上面Andrei的回答。我知道element.text,但我不需要元素的文本,我需要元素标记的值(通常是div、span、a、input、button、ecctera…)谢谢,我立即尝试认为这正是我需要的,但出于某种奇怪的原因,它只获取元素的文本,而不获取html。我在一堆元素上尝试了它,但它似乎没有捕获html代码。这对你来说行吗?所以我把代码从内部改为外部TML,它就行了!谢谢你的帮助对不起,我犯了个错误。你是对的,它是outerHTML而不是innerHTML。我已经更新了我的答案。如果这对你有帮助,请接受这个答案。谢谢你试过Xpath和CSS选择器而不是类名吗?
from bs4 import BeautifulSoup
from html.parser import HTMLParser

driver = webdriver.Chrome()
driver.get("https://stackoverflow.com/questions/51789088/python-selenium-get-tag-value-of-a-selected-element/51789139#51789139")
parsed_html = BeautifulSoup(driver.page_source) # get HTML

list = list() # create a list

class MyHTMLParser(HTMLParser):
    def handle_starttag(self, tag, attrs): # get start tags
        list.append(tag) # store them in the list


parser = MyHTMLParser()
parser.feed(str(parsed_html.body.find('div', attrs={'id':'question-header'}))) # feed parser with parsed HTML

print(list[0]) # first element in the list is the tag you need
div
    elements = driver.find_elements_by_class_name("ng-isolate-scope")
    for element in elements:
      outerhtml = element.get_attribute('outerHTML ') // to extract outerHTML 
      tag_value=outerhtml.split('',1)[0] // to extract first word
      print("element found with tag value = " + tag_value)