在 selenium python 中获取元素子 ID
Getting an elements children IDs in selenium python
我在从我抓取的元素中获取 div id 时遇到了一些问题。
假设这是我通过 class name "products"
提取的区域中的网站代码
这些列出的 id 的子项中也有 id 我不想要那些。也不是整页上的那些。
<div class = "products">
<div>
<div> id= "123">...</div>
<div> id= "456">...</div>
<div> id= "789">...</div>
<div> id= "012">...</div>
</div>
这是我的 selenium/python 代码。我尝试了几种解决方案,但一直找不到答案。
driver.get("https://genericwebsite.org")
scrape = driver.find_element(By.CLASS_NAME, 'products')
# Here are some solutions I've tried to no avail
ids = scrape.find_elements(By.XPATH, "./child::*").get_attribute('id')
# This one pulls ALL IDS from the children's children as well as maybe the full sites.
ids = scrape.find_elements(By.XPATH,'//*[@id]' )
我已经尝试了很多迭代,但似乎无法找到解决方案。
我想要的结果如下:
ids = ["123", "456", "789", "012]
试试这个代码:
ids = []
scrape = driver.find_elements(by=By.XPATH, '//div[@class=\'products\']/div/div')
for item in scrape:
ids.append(item.get_attribute('id'))
print(ids)
使用此代码,您输入上面提到的每个 div
并使用 get_attribute
方法获取它们各自的 ID,并将其附加到 ids list
我在从我抓取的元素中获取 div id 时遇到了一些问题。 假设这是我通过 class name "products"
提取的区域中的网站代码这些列出的 id 的子项中也有 id 我不想要那些。也不是整页上的那些。
<div class = "products">
<div>
<div> id= "123">...</div>
<div> id= "456">...</div>
<div> id= "789">...</div>
<div> id= "012">...</div>
</div>
这是我的 selenium/python 代码。我尝试了几种解决方案,但一直找不到答案。
driver.get("https://genericwebsite.org")
scrape = driver.find_element(By.CLASS_NAME, 'products')
# Here are some solutions I've tried to no avail
ids = scrape.find_elements(By.XPATH, "./child::*").get_attribute('id')
# This one pulls ALL IDS from the children's children as well as maybe the full sites.
ids = scrape.find_elements(By.XPATH,'//*[@id]' )
我已经尝试了很多迭代,但似乎无法找到解决方案。 我想要的结果如下:
ids = ["123", "456", "789", "012]
试试这个代码:
ids = []
scrape = driver.find_elements(by=By.XPATH, '//div[@class=\'products\']/div/div')
for item in scrape:
ids.append(item.get_attribute('id'))
print(ids)
使用此代码,您输入上面提到的每个 div
并使用 get_attribute
方法获取它们各自的 ID,并将其附加到 ids list