我无法访问www.meridiancu.ca中的下拉菜单。它是选择银行类型"选择银行类型"在主页的右侧。一旦我运行我的代码。
from selenium import webdriver
from selenium.webdriver.common import action_chains, keys
import time
driver = webdriver.Chrome()
driver.maximize_window()
driver.get("http://www.meridiancu.ca")
bank_type = driver.find_element_by_id('SelectAccount')
bank_type.click()
我得到以下输出,我不知道如何找到这个"隐藏"元件。
DevTools listening on ws://127.0.0.1:12015/devtools/browser/6f5fba77-4c41-49b9-93a3-64a8363cd35b
Traceback (most recent call last):
File "C:\Users\Imad\Documents\Programming\Python\dropdown select.py", line 14, in <module>
bank_type.click()
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=62.0.3202.94)
(Driver info: chromedriver=2.33.506120 (e3e53437346286c0bc2d2dc9aa4915ba81d9023f),platform=Windows NT 10.0.16299 x86_64)
非常感谢任何建议或解决方案。
答案 0 :(得分:2)
您遇到的问题是您的选择器正在找到2个匹配的元素。匹配的第一个元素是隐藏的。当移动浏览器查看页面时,将显示隐藏元素。
我做了一些调查,发现以下的CSS选择器会找到你要找的元素。
bank_type = find_element_by_css_selector('.show-for-large select#SelectAccount.banking-target')
答案 1 :(得分:0)
您还可以使用以下代码段对下拉列表中的所有选项进行迭代。
el = driver.find_element_by_id('SelectAccount')
for option in el.find_elements_by_tag_name('option'):
if option.text == 'Personal Banking':
option.click() # select() in earlier versions of webdriver
break