在自学selenium的时候,可能教学视频太老了,WebDriver已经没有find_element_by_id这个方法了。
from selenium import webdriver
import time
# webdriver 获取浏览器的对象
driver = webdriver.Chrome()
# 准备一个网址
# https://www.baidu.com/
url = "https://www.baidu.com"
driver.get(url)
# 查找 元素(标签,标记,节点) 通过id
driver.find_element_by_id("kw").send_keys("python")
driver.find_element_by_id("su").click()
time.sleep(5)
# 回收资源
driver.quit()
执行结果如下:
bug翻译如下:
AttributeError:“WebDriver”对象没有属性“find_element_by_id”
通过自动补齐代码发现,WebDriver里面还是有find_element这个方法的。
通过按住Ctrl,点击该方法,我们可以进入到该方法的使用说明(源码)里查看。
这里有个使用例子,我们按照例子模仿即可。
修改过后的代码为:
from selenium import webdriver
import time
from selenium.webdriver.common.by import By
# webdriver 获取浏览器的对象
driver = webdriver.Chrome()
# 准备一个网址
# https://www.baidu.com/
url = "https://www.baidu.com"
driver.get(url)
# 查找 元素(标签,标记,节点) 通过id
driver.find_element(by=By.ID, value="kw").send_keys('python')
driver.find_element(by=By.ID,value="su").click()
time.sleep(5)
# 回收资源
driver.quit()
driver.find_element()
注意:这里使用By这个类,要进行导包。
from selenium.webdriver.common.by import By
执行结果:
成功了