在自学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
执行结果:
文章来源:https://www.toymoban.com/news/detail-511543.html
成功了文章来源地址https://www.toymoban.com/news/detail-511543.html
到了这里,关于Selenium中find_element_by_id无法使用,改用driver.find_element(by=By.ID, value=None)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!