我有一个名为searchMachine.py的文章,如果我直接从IDLE(F5 ..)运行它可以正常运行,但如果我只需单击searchMachine.py就可以运行它,直到某些点和然后我收到一个错误。见下文。 感谢你给我的任何意见。 顺便说一句,任何想法如何让这个chrome在沉默中工作?例如最小化?
from selenium import webdriver
from selenium.webdriver.support.ui import Select
print('Please type the machine name.')
machinename = input()
print('')
print('Thank you.')
print('')
print('Results will show below.')
print('')
path_to_chromedriver = 'C:\python34\chromedriver\chromedriver.exe' # change path as needed
browser = webdriver.Chrome(executable_path = path_to_chromedriver)
url = 'http://app.corp'
browser.get(url)
browser.find_element_by_xpath("/html/body/div[4]/form/table[1]/tbody/tr/td[5]/input[1]").send_keys(machinename)
browser.find_element_by_css_selector('input[type=\"submit\"]').click() # working to press submit
xpath = '/html/body/div[4]/form/center[2]/table/thead'
for i in browser.find_elements_by_xpath(xpath):
print (i.text)
xpath = '/html/body/div[4]/form/center[2]/table/tbody/tr'
for i in browser.find_elements_by_xpath(xpath):
print (i.text)
browser.close()
import os
os.system("c:/code/close_chrome_driver.bat")
错误是:
答案 0 :(得分:0)
发生此错误是因为无法将unicode字符▾
或U+25BE BLACK DOWN-POINTING SMALL TRIANGLE
写入Windows控制台窗口,因为它与CP850字符集不匹配>您的 Windows控制台。
现在,当Python无法打印正确的值时,它会大声嘶叫。您可以将PYTHONIOENCODING
环境变量设置为cp850:ignore
,这会使Python进程忽略错误;或者您可以打印到stderr
而不是stdout
,这会使用backslashescape
错误处理。