<p>我想,这是你的解决方案<a href="https://stackoverflow.com/questions/36141681/does-anybody-know-how-to-identify-shadow-dom-web-elements-using-selenium-webdriv">Does anybody know how to identify shadow dom web elements using selenium webdriver?</a></p>
<p>您正在尝试使用shadowdomwebelements获取元素</p>
<p>或者尝试使用安装pyshadow库:</p>
<pre><code>pip install pyshadow
</code></pre>
<p>然后像这样使用:</p>
<pre><code>from pyshadow.main import Shadow
from selenium import webdriver
browser = webdriver.Chrome()
browser.get('https://ing.ingdirect.es/pfm/#login')
shadow = Shadow(browser)
shadow.set_explicit_wait(20, 5)
shadow.find_element("#aceptar").click()
element = shadow.find_element("#ing-uic-native-input_0")
element.send_keys('xx')
</code></pre>
<p>我不喜欢使用所有的包装器,但看起来阴影元素需要一些包装器工作,谷歌的人已经做了</p>
<p>其次,要通过单击“接受cookies”跳过该步骤,有一种很好的方法可以存储该步骤的cookies并每次替换它们:</p>
<p>第一次运行:</p>
<pre><code>import pickle
cookies = browser.get_cookies()
with open("cookies.pkl", "wb") as f:
pickle.dump(browser.get_cookies(), f)
</code></pre>
<p>然后,每次删除并运行该文件:</p>
<pre><code>cookies = pickle.load(open("cookies.pkl", "rb"))
for cookie in cookies:
browser.add_cookie(cookie)
</code></pre>