问题:
跑之前的python爬虫代码的时候报错
AttributeError: 'WebDriver' object has no attribute 'find_element_by_xpath'
源代码:
elements = self.driver.find_elements_by_xpath("//tbody[starts-with(@id,'normalthread')]/tr/th/a[1]")
原因:
通过webdriver对象的find_element_by_xx(" "),在selenium的4.0版本中此种用法已经抛弃。
解决方法:
1,通过webdriver对象的find_element("属性名","属性值")
-
driver.find_element("id","wang")
2,通过webdriver模块中的By,以指定方式定位元素
导入模块:from selenium.webdriver.common.by import By
-
driver.find_element(By.ID,"username")
-
driver.find_element(By.CLASS_NAME,"passwords")
-
driver.find_element(By.TAG_NAME,"input")
源代码可修改为:
elements = self.driver.find_elements(By.XPATH, "//tbody[starts-with(@id,'normalthread')]/tr/th/a[1]")