当我尝试使用Selenium(Python)登录Chase网站时,我遇到以下错误消息:
但是,使用"人"登录工作正常.似乎当Selenium找到一个元素时会引发问题.
我错过了什么吗?我试图在stackoverflow上找到答案,但无济于事.
预期的结果是脚本将成功允许我以编程方式登录.
这是下面的代码示例:
import time
import os
from selenium import webdriver
CHASE_USER_ID = os.getenv('CHASE_USER_ID', None)
CHASE_PASSWORD = os.getenv('CHASE_PASSWORD', None)
assert CHASE_USER_ID is not None, 'Chase user id not set'
assert CHASE_PASSWORD is not None, ' Chase password not set'
def main():
chrome_options = webdriver.ChromeOptions()
driver = webdriver.Chrome(r'./chromedriver', chrome_options=chrome_options)
try:
driver.get('https://secure07c.chase.com/web/auth/#/logon/logon/chaseOnline?')
time.sleep(2)
user_element = driver.find_element_by_id('userId-input-field') # Finding an element here seems to make the login process fail
user_element.send_keys(CHASE_USER_ID)
password_element = driver.find_element_by_id('password-input-field')
password_element.send_keys(CHASE_PASSWORD)
time.sleep(2)
password_element.submit()
time.sleep(10)
finally:
driver.quit()
if …Run Code Online (Sandbox Code Playgroud) python selenium google-chrome webdriver selenium-chromedriver
我正在使用 Scrapy 库。我经常得到带有“\t”和“\n”的列表。
我试图使用列表理解来剥离和删除生成的空元素,但最终仍然是空元素。
有人可以解释一下解释器是如何处理代码的吗?它似乎正在检查空元素,然后剥离元素并将其重新插入列表中。
先感谢您!
# input
char_list = ['', ' a','b', '\t']
print char_list
char_list = [x.strip() for x in char_list if x!='']
print char_list
# output
['', ' a', 'b', '\t']
['a', 'b', '']
#DESIRED output
['', ' a', 'b', '\t']
['a', 'b']
Run Code Online (Sandbox Code Playgroud)