我试图用python中的selenium来填充此表单:https://ing.ingdirect.es/app-login/
使用此代码:
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
browser = webdriver.Firefox(executable_path = '/usr/local/bin/geckodriver')
browser.get('https://ing.ingdirect.es/pfm/#login')
WebDriverWait(browser, 30).until(EC.presence_of_element_located((By.CSS_SELECTOR, '#aceptar'))).click()
browser.find_element_by_css_selector('#ing-uic-native-input_0').send_keys('xx')
但我得到了这个错误:
NoSuchElementException: Message: Unable to locate element: #ing-uic-native-input_0
我试图找到框架和其他方法来查找元素,但没有成功:xpath、id等
有什么建议吗
首先,在所有测试步骤开始时接受cookie一次
第二,在接受cookies之后,用户被重定向到https://ing.ingdirect.es/app-login/ 没有
#ing-uic-native-input_0
CSS元素。 例如,如果您正在寻找Número de documento
,请使用:此外,在进行输入之前,请使用
visibility_of_element_located
而不是presence_of_element_located
。它应该更可靠下面是它的手动外观。手动获取4个元素的阴影根看起来很糟糕。另外,您的登录url很难登录
我想,这是你的解决方案Does anybody know how to identify shadow dom web elements using selenium webdriver?
您正在尝试使用shadowdomwebelements获取元素
或者尝试使用安装pyshadow库:
然后像这样使用:
我不喜欢使用所有的包装器,但看起来阴影元素需要一些包装器工作,谷歌的人已经做了
其次,要通过单击“接受cookies”跳过该步骤,有一种很好的方法可以存储该步骤的cookies并每次替换它们:
第一次运行:
然后,每次删除并运行该文件:
相关问题 更多 >
编程相关推荐