2024-05-23 18:49:36 发布
网友
我知道我可以使用以下方法:
find_elements_by_tag_name() find_elements_by_id() find_elements_by_css_selector() find_elements_by_xpath()
但是我想做的只是得到一个页面中存在的所有元素id的列表,也许还有它们出现的标记类型。
我怎样才能做到这一点?
以前不需要这样做,但是从逻辑上考虑,您可以使用XPath来实现这一点(可能是其他方式,XPath是我脑海中出现的第一件事)。
使用find_elements_by_xpath使用XPath//*[@id](任何具有某种ID的元素)。
find_elements_by_xpath
//*[@id]
然后,您可以遍历集合,并使用每个元素的.tag_name属性来找出它是什么类型的元素,以及get_attribute("id")方法/函数来获取该元素的ID
.tag_name
get_attribute("id")
注意:这可能会很慢。毕竟,你需要的是大量的信息。
from selenium import webdriver driver = webdriver.Firefox() driver.get('http://google.com') ids = driver.find_elements_by_xpath('//*[@id]') for ii in ids: #print ii.tag_name print ii.get_attribute('id') # id name as string
以前不需要这样做,但是从逻辑上考虑,您可以使用XPath来实现这一点(可能是其他方式,XPath是我脑海中出现的第一件事)。
使用
find_elements_by_xpath
使用XPath//*[@id]
(任何具有某种ID的元素)。然后,您可以遍历集合,并使用每个元素的
.tag_name
属性来找出它是什么类型的元素,以及get_attribute("id")
方法/函数来获取该元素的ID注意:这可能会很慢。毕竟,你需要的是大量的信息。
相关问题 更多 >
编程相关推荐