开发者社区> 问答> 正文

Python:怎么使用 Selenium 登录网站

我要登录以下网站:

https://www.investing.com/equities/oil---gas-dev-historical-data

到目前为止,这是我尝试过的:

from selenium import webdriver
profile = webdriver.FirefoxProfile()
profile.set_preference("browser.download.folderList", 2)
profile.set_preference("browser.download.manager.showWhenStarting", False)
profile.set_preference("browser.download.dir", './ogdc.csv')
profile.set_preference("browser.helperApps.neverAsk.saveToDisk", "application/x-gzip")

driver = webdriver.Firefox(firefox_profile=profile)
driver.get('https://www.investing.com/equities/oil---gas-dev-historical-data')
driver.find_element_by_class_name("login bold")
driver.find_element_by_id('Email').send_keys('myemail')
driver.find_element_by_id('Password').send_keys('mypass')
driver.find_element_by_partial_link_text("Download Data").click()

但是我得到以下异常:

NoSuchElementException

我如何登录上述网站?

问题来源:stackoverflow

展开
收起
is大龙 2020-03-23 17:14:06 794 0
1 条回答
写回答
取消 提交回答
  • 您需要先单击“登录”以调出登录弹出窗口,然后尝试以下代码:

    driver.get('https://www.investing.com/equities/oil---gas-dev-historical-data')
    driver.find_element_by_css_selector("a[class\*'login']").click()
    driver.find_element_by_id('loginFormUser_email').send_keys('myemail')
    driver.find_element_by_id('loginForm_password').send_keys('mypass')
    driver.find_element_by_xpath("//div[@id='loginEmailSigning']//following-sibling::a[@class='newButton orange']").click()
    

    回答来源:stackoverflow

    2020-03-23 17:14:12
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载