我嘗試這段代碼
import requests as req
from selenium.webdriver.common.by import By
from selenium import webdriver
#from selenium.webdriver.support.ui import WebDriverWait
#from selenium.webdriver.support import expected_conditions as EC
#from selenium.webdriver.support.select import Select as select
driver = webdriver.Chrome(f'F:\Deep Learning\chromedriver')
driver.maximize_window()
driver.get('https://www.naukri.com/')
driver.implicitly_wait(10)
driver.find_element(By.XPATH,'//input[@placeholder="Enter skills / designations / companies"]').send_keys('data scientist')
driver.find_element(By.XPATH,'//input[@placeholder="Enter location"]').send_keys('pune,Delhi NCR,Hydrabad')
driver.find_element(By.CSS_SELECTOR,".dropdownMainContainer").click
driver.implicitly_wait(10)
#driver.find_element(By.XPATH,'//*[@id="expereinceDD"]').click
driver.implicitly_wait(10)
driver.find_element(By.XPATH,"//span[normalize-space()='2 years']").click
driver.quit()
但它會拋出錯誤按摩
之前點擊它顯示的“選擇體驗”! 在點擊“選擇體驗”之前選擇體驗截圖 在點擊 “選擇體驗”下拉選單 之后點擊它的顯示
錯誤訊息是“訊息:沒有這樣的元素:無法找到元素”供參考,我給出了鏈接https://www.naukri.com/error massege
我如何單擊“選擇體驗”選單以選擇其中一個選項
uj5u.com熱心網友回復:
您的主要問題是您嘗試使用不存在的.click方法而不是Selenium .click()方法。
此外,無需driver.implicitly_wait(10)多次定義。driver此命令設定整個會話的隱式等待。
此代碼有效:
import requests as req
from selenium.webdriver.common.by import By
from selenium import webdriver
#from selenium.webdriver.support.ui import WebDriverWait
#from selenium.webdriver.support import expected_conditions as EC
#from selenium.webdriver.support.select import Select as select
driver = webdriver.Chrome(f'F:\Deep Learning\chromedriver')
driver.maximize_window()
driver.get('https://www.naukri.com/')
driver.implicitly_wait(10)
driver.find_element(By.XPATH,'//input[@placeholder="Enter skills / designations / companies"]').send_keys('data scientist')
driver.find_element(By.XPATH,'//input[@placeholder="Enter location"]').send_keys('pune,Delhi NCR,Hydrabad')
driver.find_element(By.CSS_SELECTOR,".dropdownMainContainer").click()
driver.find_element(By.XPATH,"//span[normalize-space()='2 years']").click()
driver.quit()
uj5u.com熱心網友回復:
如果您使用click()而不是click.
driver.find_element(By.CSS_SELECTOR,".dropdownMainContainer").click()
driver.find_element(By.XPATH,"//span[normalize-space()='2 years']").click()
另外,使用explicit wait代替implicit wait. Explicit wait我的意思WebdriverWait是。它有助于良好的實踐。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/447842.html
