Selenium使用中遇到的问题
1、定位元素找不到可能的原因是页面没有完成加载,使用延时之后就会成功
2、表格元素遍历时使用索引会出现越界的问题
table_id = driver.find_element(By.CLASS_NAME, "table_class") rows = table_id.find_elements(By.TAG_NAME, "tr") for row in rows: # not necessary, I only have 1 row cols = row.find_elements(By.TAG_NAME, "td") for col in cols: # not necessary, I only need to access the 5th elem print(col.text)
上面的代码可以工作,改为使用下标引用会发生错误。
print(col[4].text),这条代码会出现list index out of range。因为表格的第一行是标题,标签是<th>,而没有<td>,造成了cols的集合是空的。因此下标引用会越界。
另一个解决方案是,尝试通过xpath访问元素。
列=table_id.find_elements_by_xpath('xxxxxxxxxxxx')