我嘗試在下面的網站上單擊類名為“mat-select-arrow-wrapper.ng-tns-c73-7”的元素。這會導致錯誤“無法定位元素”,直到我單擊新的瀏覽器視窗一次,我該如何解決這個問題?左邊的另外兩個框沒有出現這個問題。
我的代碼目前看起來像這樣:
url = "https://www.pamyra.de/"
driver = webdriver.Chrome(ChromeDriverManager().install())
driver.get(url)
time.sleep(3)
driver.find_element_by_class_name("mat-select-arrow-wrapper.ng-tns-c73-7").click()
uj5u.com熱心網友回復:
你有 css 選擇器.mat-select-arrow-wrapper.ng-tns-c73-7,你造成的by_class_name是你得到例外的原因。
請使用以下代碼:
driver.find_element_by_css_selector(".mat-select-arrow-wrapper.ng-tns-c73-7").click()
完整代碼應如下所示:
driver = webdriver.Chrome(ChromeDriverManager().install())
driver.implicitly_wait(30)
driver.maximize_window()
url = "https://www.pamyra.de/"
driver.get(url)
time.sleep(3)
driver.find_element_by_css_selector(".mat-select-arrow-wrapper.ng-tns-c73-7").click()
更新 1:
使用顯式等待:
driver = webdriver.Chrome(driver_path)
driver.maximize_window()
driver.implicitly_wait(30)
wait = WebDriverWait(driver, 30)
url = "https://www.pamyra.de/"
driver.get(url)
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "div#mat-select-value-5 div"))).click()
進口:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC

轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/340881.html
