그래서 CPS 클래스 용 Magic Mirror를 만들고 브라우저 탭을 사용하여 전체 화면 모드로 여러 개의 디스플레이를 만들었습니다. 디스플레이 중 하나의 경우, 내 27 인치 모니터 (Google이 캘린더 설정에서 제공)에 맞게 확장 된 내장형 Google 캘린더를 갖기를 원했습니다. 캘린더는 Firefox에서 정상적으로 열 때 작동하지만 셀렌을 사용하는 geckodriver로 Firefox를 열면 캘린더가 일반 상태로 표시되며 편집 할 방법이 없습니다. 다른 브라우저에서 .html 페이지를 열어 보았는데 모두 작동합니다. 이것은 다음과 같습니다. GeckoDriver Display, FireFox Display. 캘린더에는 iframe 태그 사용이 포함됩니다.이 태그는 동일한 결과를 갖는 객체 태그로 변경하려고 시도했습니다. 내 파이썬은 각 HTML 파일을 여는와 함께geckodriver로 브라우저를 열 때 내장 된 Google 캘린더를 편집 할 수 없습니다.
<iframe src="https://calendar.google.com/calendar/embed?showTitle=0&showDate=0&showPrint=0&showTabs=0&
showCalendars=0&height=1810&wkst=1&bgcolor=%23000000&src=tvanderlinden8%40gmail.com&color=%2329527A&
src=%23contacts%40group.v.calendar.google.com&color=%2329527A&src=en.usa%23holiday%40group.v.calendar.google.com&
color=%2329527A&ctz=America%2FNew_York" style="border-width:0"width="1000" height="1800" frameborder="0" scrolling="no"></iframe>
:이 방법으로 "작업"을 수행하기 때문에 오류가 없습니다
# Imports
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
# Create new browser and open all display tabs
# Open Firefox dir
driver = webdriver.Firefox()
# Open google tab
driver.get('http://google.com')
driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL + 't')
# Open MagicMirror.html, MagicMirror2.html, and MagicMirror3.html (all 3 displays)
driver.get('/home/pi/Desktop/MagicMirror/MagicMirror.html')
driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL + 't')
driver.get('/home/pi/Desktop/MagicMirror/MagicMirror2.html')
driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL + 't')
driver.get('/home/pi/Desktop/MagicMirror/MagicMirror3.html')
# Close google tab
driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL + Keys.TAB)
driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL + 'w')
# Set webpage to full screen
driver.find_element_by_tag_name('body').send_keys(Keys.F11)
# Variable used to determine if display is showing 1st or 3rd display
disNum = 1
# Input to change display
while(True):
display = int(input("Please select a display: "))
# Moves right a display unless it is at the last display
if (display == 1 and disNum != 3):
driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL + Keys.TAB)
disNum += 1
# Moves left a display unless it is at the first display
if (display == 2 and disNum != 1):
driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL + Keys.SHIFT + Keys.TAB)
disNum -= 1
여기에 iframe이 코드입니다. 그것은 단지 내가 필요로하는 방식으로 작동하지 않습니다.
참조 : [어떻게해야합니까?] (https://meta.stackoverflow.com/questions/253069/whats-the-new-current-close-reason-for-how-do-i- do-x) SO에 대한 기대는 질문을하는 사용자가 자신의 질문에 답하는 연구뿐만 아니라 연구, 코드 시도 및 결과를 공유한다는 것입니다. 이것은 시간을내어 자신을 도우려는 것을 보여 주며, 명백한 답을 되풀이하지 않아도되며, 무엇보다도보다 구체적이고 관련성있는 답변을 얻는 데 도움이됩니다! 또한보십시오 : [ask] – JeffC
코드 재판, 오류 스택 추적 및 HTML을 공유 할 수 있습니까? – DebanjanB