我试图弄清楚如何通过Selenium和Python以嵌套方式访问HTML元素。
例如,我有: box = driver.find_element_by_tag_name('tbody') 这代表了我想挖掘的数据主体。我想遍历这个主体中的每一行(每一行都有一个 <tr> 标记)使用如下方式:
box = driver.find_element_by_tag_name('tbody')
<tr>
for driver.find_element_by_tag_name('tr') in box:
但很明显,这是不可能的,因为box是一个Selenium对象,是不可替代的。
做这样的事情最好的方法是什么?
最佳的方法是建造 locator strategies 从父代到子代的过程如下:
使用 CSS_选择器 :
for element in driver.find_elements(By.CSS_SELECTOR, "tbody tr"): print(element.text)
使用 XPATH :
for element in driver.find_elements(By.XPATH, "//tbody//tr"): print(element.text)