python selenium scrape不打印d

2024-06-16 13:30:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试运行selenium web scrape,但它没有打印我试图获取的数据。页面将加载,但终端中没有打印内容。终端只是说“DevTools正在监听ws…”

import selenium
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
import time

url = "https://www.tdameritrade.com/home.page"
username = "XXXXX"
password = "XXXXX"
browser = webdriver.Chrome()

if __name__ == "__main__":
   browser.get(url)

   uname = browser.find_element_by_name("tbUsername")
   uname.send_keys(username)

   passw = browser.find_element_by_name("tbPassword")
   passw.send_keys(password)

   submit_button = browser.find_element_by_xpath("//div[@class='main-header-login-fields']//button[@class='main-header-login-submit main-header-login-label btn btn-green-solid']").click()

time.sleep(10)#delay to answer extra login/security questions

browser.get("https://invest.ameritrade.com/grid/p/site#r=jPage/https://research.ameritrade.com/grid/wwws/research/Markets/SectorsIndustries/Industry?symbol=220992436&c_name=invest_VENDOR")

cell = browser.find_element_by_xpath("""//*[@id="module-detail"]/div/div/div[1]/div/div[3]/div[2]/span""")
print cell.text

编辑:

我不确定它在哪里失败了。我将最后几行代码改为下面的代码,但是终端仍然停留在“DevTools listening…”页面加载但不打印错误。只有当我关闭浏览器时,它才会到达并打印“finished”。你知道吗

browser.get("https://invest.ameritrade.com/grid/p/site#r=jPage/https://research.ameritrade.com/grid/wwws/research/Markets/SectorsIndustries/Industry?symbol=220992436&c_name=invest_VENDOR")
try:
    browser.switch_to.window(browser.current_window_handle)
    cell = browser.find_element_by_xpath("""//*[@id="module-detail"]/div/div/div[1]/div/div[3]/div[2]/span""")
except Exception as e:
    print e
    pass

print "finished"

Tags: namehttpsimportdivbrowsercombymain
1条回答
网友
1楼 · 发布于 2024-06-16 13:30:51

试试这个:

之前:

cell = browser.find_element_by_xpath("""//*[@id="module-detail"]/div/div/div[1]/div/div[3]/div[2]/span""")

行添加

browser.switch_to.window(browser.current_window_handle)

然后再试一次。希望这对你有帮助!:)

相关问题 更多 >