在学习selenium模块的时候,由于是在白嫖的,往年教程
import time
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.csdn.net/")
driver.find_element_by_id('toolbar-search-input').send_keys('python')
driver.find_element_by_id('toolbar-search-button').click()
time.sleep(6)
driver.quit()
点击运行后报错
AttributeError: 'WebDriver' object has no attribute 'find_element_by_id'
'WebDriver'没有find_element_by_id这个方法
搜索出来的基本都是就这个方法进行讲解
在尝试方法中发现,finde_element这个方法有
点开配置文件,发现通过find换了写法,尝试用这种写法去写
import time
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.csdn.net/")
driver.find_element(by=By.ID, value='toolbar-search-input').send_keys('python')
driver.find_element(by=By.ID, value='toolbar-search-button').click()
time.sleep(6)
driver.quit()
又报NameError的错
By没有定义,声明By模块,最后改良的代码
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.get("https://www.csdn.net/")
driver.find_element(by=By.ID, value='toolbar-search-input').send_keys('python')
driver.find_element(by=By.ID, value='toolbar-search-button').click()
time.sleep(6)
driver.quit()
然后运行,成功运行
如果遇到找不到方法的情况,如果自己的版本是最新的版本,那么很有可能这种方法已经不用了文章来源:https://www.toymoban.com/news/detail-504735.html
可以去查看一下官方的文档,或者直接查看配置文件,对自己的代码进行修改文章来源地址https://www.toymoban.com/news/detail-504735.html
driver.find_element(By.XPATH, '//*[@id="kw"]')
# 根据xpath选择元素(万金油)
driver.find_element(By.CSS_SELECTOR, '#kw')
# 根据css选择器选择元素
driver.find_element(By.NAME, 'wd')
# 根据name属性值选择元素
driver.find_element(By.CLASS_NAME, 's_ipt')
# 根据类名选择元素
driver.find_element(By.LINK_TEXT, 'hao123')
# 根据链接文本选择元素
driver.find_element(By.PARTIAL_LINK_TEXT, 'hao')
# 根据包含文本选择
driver.find_element(By.TAG_NAME, 'title')
# 根据标签名选择
# 目标元素在当前html中是唯一标签或众多标签第一个时候使用
driver.find_element(By.ID, 'su')
# 根据id选择
到了这里,关于selenium模块中的find_element_by_id方法无法使用,改用driver.find_element(by=By.ID, value=None)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!