如有錯(cuò)誤,敬請(qǐng)諒解!
此文章僅為本人學(xué)習(xí)筆記,僅供參考,如有冒犯,請(qǐng)聯(lián)系作者刪除?。?/strong>
? ? ? ? 我們在學(xué)習(xí)selenium模塊的時(shí)候,經(jīng)常會(huì)用到?browser.find_element_by_id命令,但隨著selenuim版本更新,我們會(huì)發(fā)現(xiàn)運(yùn)行時(shí)會(huì)報(bào)錯(cuò),非常苦惱。
? ? ? ? 示例:
from selenium import webdriver
path = 'chromedriver.exe'
browser = webdriver.Chrome(path)
url = 'https://www.baidu.com'
browser.get(url)
button = browser.find_element_by_id('su')
print(button)
? ? ? ? 錯(cuò)誤如下:
? ? ? ? 點(diǎn)擊運(yùn)行后報(bào)錯(cuò):AttributeError: 'WebDriver' object has no attribute 'find_element_by_id'
'WebDriver'沒有find_element_by_id這個(gè)方法
? ? ? ? 我們發(fā)現(xiàn),finde_element這個(gè)方法有,所以可以嘗試換一種方法改寫上述代碼:
from selenium import webdriver
from selenium.webdriver.common.by import By
path = 'chromedriver.exe'
browser = webdriver.Chrome(path)
url = 'https://www.baidu.com'
browser.get(url)
button = browser.find_element(By.ID,'su')
print(button)
? ? ? ? 可以發(fā)現(xiàn)只是改變了這兩句:
from selenium.webdriver.common.by import By
button = browser.find_element(By.ID,'su')
? ? ? ? 如果自己的版本是最新的版本,那么很有可能這種方法已經(jīng)不用了,可以去查看一下官方的文檔,或者直接查看配置文件,對(duì)自己的代碼進(jìn)行修改。
? ? ? ?以下是更新之后常見的的用法(使用前需引用:from selenium.webdriver.common.by import By):
# 根據(jù)xpath選擇元素
driver.find_element(By.XPATH, '//*[@id="kw"]')?
# 根據(jù)css選擇器選擇元素
driver.find_element(By.CSS_SELECTOR, '#kw')?
# 根據(jù)name屬性值選擇元素
driver.find_element(By.NAME, 'wd')?
# 根據(jù)類名選擇元素
driver.find_element(By.CLASS_NAME, 's_ipt')?
# 根據(jù)鏈接文本選擇元素
driver.find_element(By.LINK_TEXT, 'hao123')?
# 根據(jù)包含文本選擇
driver.find_element(By.PARTIAL_LINK_TEXT, 'hao')?
# 根據(jù)標(biāo)簽名選擇
# 目標(biāo)元素在當(dāng)前html中是唯一標(biāo)簽或眾多標(biāo)簽第一個(gè)時(shí)候使用
driver.find_element(By.TAG_NAME, 'title')?
# 根據(jù)id選擇
driver.find_element(By.ID, 'su')?
如有錯(cuò)誤,請(qǐng)聯(lián)系作者刪除文章來源:http://www.zghlxwxcb.cn/news/detail-451502.html
并懇請(qǐng)同行朋友予以斧正,萬分感謝!文章來源地址http://www.zghlxwxcb.cn/news/detail-451502.html
到了這里,關(guān)于解決Python爬蟲中selenium模塊中的find_element_by_id方法無法使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!