1、首先看第2点的截图**driver.find_element_by_id **直接标黄报错了,但还是先执行下
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
driver.maximize_window()
driver.find_element_by_id('kw').send_keys("自动化")
driver.find_element_by_name('wd').click()
2、可以发现虽然驱动打开了浏览器,但是在定位元素的时候报错了,提示:AttributeError: 'WebDriver' object has no attribute 'find_element_by_id'
3、要解决这个问题其实可以引入一个包
from selenium.webdriver.common.by import By
4、定位元素的格式直接可以用driver.find_element()
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
driver.maximize_window()
driver.find_element(by=By.ID,value="kw").send_keys("自动化")
driver.find_element(by=By.ID,value="su").click()
再次执行可以看到成功定位到元素并执行操作
** 注**:如果你看by.py源码,可以看到下面8种类型:
5、遇到提示只能用find_element()格式的话,可以通过这个方法去解决,只需要根据自己对应需要定位的元素信息进行变更by=By."",value=""
当然解决办法肯定还有很多,兄弟们也可以去尝试其他方法
ID = "id"
XPATH = "xpath"
LINK_TEXT = "link text"
PARTIAL_LINK_TEXT = "partial link text"
NAME = "name"
TAG_NAME = "tag name"
CLASS_NAME = "class name"
CSS_SELECTOR = "css selector"
版权归原作者 Xx丶BigDecimal 所有, 如有侵权,请联系我们删除。