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')

posted @ 2022-07-07 10:44  培轩  阅读(93)  评论(0编辑  收藏  举报