我对抓取是陌生的,我正在尝试从一个简单的静态网页中抓取数据。
网页以表格形式排列,我只想从id
'Table1'(图片中的红色矩形)中获取数据。但是,我无法实现这一目标。
我需要“ LabelColumn”和“ DataColumn”的内容,但仅在“ Table1”中
当我执行find_elements_by_class_name("LabelColumn")
和driver.find_elements_by_class_name("DataColumn")
时,会得到整个页面的'LabelColumn'和'DataColumn'数据,而这并不是我想要的(它会创建不必要的数据并花费更多时间)。
可以提供任何有关该方法的指南吗?我尝试查找xpath
,但出现错误,提示物品不存在,我认为我做错了事。
蓝色矩形仅在“表1”中显示几个“ LabelColumn”和“ DataColumn”。在绿色矩形内还有更多这些。我将那些折叠起来以减小图片的尺寸。
更新 尝试过的代码(这仍然给出了整个页面的内容,而不是元素'Table1'的内容
table1 = driver.find_element_by_id("Table1")
labels = table1.find_elements_by_xpath(".//td[@class='LabelColumn']")
contents = table1.find_elements_by_xpath(".//td[@class='DataColumn']")
答案 0 :(得分:1)
您可以使用下面的xpath。
//table[@id='Table1']//td[@class='LabelColumn']
//table[@id='Table1']//td[@class='DataColumn']
或以下CSS
table[id='Table1'] .LabelColumn
table[id='Table1'] .DataColumn