我正試圖點擊并選擇用戶名和密碼欄位的值,但它的 "模態對話框",使我無法進行操作。 在這個URL被打開并成功運行后,模態立即出現。
我正在使用以下代碼:
import time
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver = webdriver.Chrome(ChromeDriverManager().install() )
driver.maximum_window()
driver.get('https://app.staging.showcare.io/product-showcase')
wait = WebDriverWait(driver, 20)
wait.until(EC.title_contains("Signin")
print('sign in')
print('wait')
userName_field = driver.find_element_by_name('username')
time.sleep(6)
userName_field.click()
userName_field.send_keys('')
driver.quit()
我知道我正在使用time.sleep,這不被認為是最佳做法,但我正試圖利用它的時間。 我也使用了wait till click,但它沒有發揮作用。 現在,它拋出的例外是這樣的:
Traceback (most recent call last):
檔案 "/Users/tp/Documents/Pract/ShowCase_Automation/exhibitorAccess.py", 行 19, in < module>
userName_field.click()
檔案 "/Users/tp/Documents/Pract/ShowCase_Automation/venv/lib/python3.8/Site-packages/selenium/webdriver/remote/webelement.py", 行 80, in Click
self._execute(Command.CLICK_ELEMENT)
檔案 "/Users/tp/Documents/Pract/ShowCase_Automation/venv/lib/python3.8/Site-packages/selenium/webdriver/remote/webelement.py", line 633, in _execute
return self._parent.execute(command, params)
檔案 "/Users/tp/Documents/Pract/ShowCase_Automation/venv/lib/python3.8/Site-packages/selenium/webdriver/remote/webdriver.py", 行 321, in execute
self.error_handler.check_response( response)
檔案 "/Users/tp/Documents/Pract/ShowCase_Automation/venv/lib/python3.8/Site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.ElementNotInteractableException。訊息:元素not可互動。
(Session info: chrome=93.0.4577.82)
誰能幫我解決這個問題?
uj5u.com熱心網友回復:
在那個頁面上有2個元素與find_element_by_name('username')相匹配。
為了訪問正確的元素,你應該改變你的定位器。
用這個代替:
driver = webdriver.Chrome(ChromeDriverManager().install() )
driver.maximum_window()
driver.get('https://app.staging.showcare.io/product-showcase')
wait = WebDriverWait(driver, 20)
wait.until(EC.title_contains("Signin")
print('sign in')
print('wait')
userName_field = wait.until(EC.visibility_of_element_located((By.XPATH, "//div[contains(@class, 'modal-content') and(contains(@class, 'visible-lg'))]//input[@name='username']"))
userName_field.click()
userName_field.send_keys('')
time.sleep(6)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/318341.html
標籤:
