Ich arbeite an einem Programm, mit dem ich die zweite Option im Dropdown-Menü auf https://www.pcfinancial.ca/ in der oberen rechten Ecke des Fensters auswählen kann. Hier ist mein Code so weit:Klicken Sie nicht auf Element mit Python Selenium
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support import ui
driver = webdriver.Chrome()
driver.get('https://www.pcfinancial.ca/');
driver.find_element_by_xpath('//*[@id="lnkSignInOp"]').click() #click on dropdown menu - working
driver.find_element_by_xpath('//*[@id="PCM"]/a').click() #select "pc mastercard" - not working
Was komisch ist, ich das Dropdown-Menü zugreifen kann, die erste driver.find_elements_by_xpath(...)
Linie verwenden, aber ich bekomme die folgende Fehlermeldung, wenn die zweite Option auswählen.
Traceback (most recent call last):
File "C:\Users\Imad\Documents\Programming\Python\test.py", line 10, in <module>
driver.find_element_by_xpath('//*[@id="PCM"]/a').click() #open up dropdown menu works
File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webelement.py", line 80, in click
self._execute(Command.CLICK_ELEMENT)
File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webelement.py", line 501, in _execute
return self._parent.execute(command, params)
File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 308, in execute
self.error_handler.check_response(response)
File "C:\Python27\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 194, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.ElementNotVisibleException: Message: element not visible
(Session info: chrome=63.0.3239.84)
(Driver info: chromedriver=2.33.506120 (e3e53437346286c0bc2d2dc9aa4915ba81d9023f),platform=Windows NT 10.0.16299 x86_64)
Kann jemand mir helfen zu verstehen, was los ist und wie man das beheben kann? Danke im Voraus!
Vielen Dank! Ich hatte keine Ahnung, dass nach dem Laden der Webseite eine Wartezeit erforderlich ist. Wie für WebDriverWait, wissen Sie, in welcher Einheit die 10 ist? Frage nur aus Neugier, damit ich weiß, was beim nächsten Mal "zu lang" ist –
@ImadKalboneh kein Problem, froh, dass es für Sie gearbeitet hat. 10 ist in "Sekunden", danke. – alecxe