문제점 : GhostDriver API는 경고 처리를 아직 지원하지 않습니다. 당분간은 경고를 처리하고 텍스트를 저장할 페이지에 자신의 자바 스크립트를 삽입하는 것이 가능한 해결 방법이 있습니다.GhostDriver에서 Python을 통해 경고를 처리하려면 어떻게합니까?
python webdriver 바인딩을 통해이 대안을 사용하는 데 문제가 있습니다. 그것은 초보자 수준의 자바 스크립트 이해와 관련이있을 수 있습니다. http://www.tizag.com/javascriptT/javascriptalert.php 여기
내 코드입니다 : 내가 알림이 더 간단하게 보여줍니다 공개 사이트를 사용하고 https://github.com/detro/ghostdriver/issues/20#issuecomment-15641983
을 : 여기
내가 사용하는 것을 시도하고 해결 방법의 예입니다 :from selenium import webdriver
button_xpath = "/html/body/table[3]/tbody/tr/td[2]/table/tbody/tr/td/div[4]/form/input"
js = """
(function() {
var lastAlert = undefined;
window.alert = function (message) {
lastAlert = message;
};
window.getLastAlert = function() {
var result = lastAlert;
lastAlert = undefined;
return result;
};
}());
"""
driver = webdriver.PhantomJS()
driver.get('http://www.tizag.com/javascriptT/javascriptalert.php')
driver.execute_script("window.alert = %s" % js)
driver.find_element_by_xpath(button_xpath).click()
#exception just occured
driver.execute_script("return window.getLastAlert && window.getLastAlert();")
예외이다
WebDriverException: Message: u'Error Message => \'Click failed: TypeError: \'undefined\' is not a function (evaluating \'alert(\'Are you sure you want to give us the deed to your house?\')\')\'\n caused by Request => {"headers":{"Accept":"application/json","Accept-Encoding":"identity","Connection":"close","Content-Length":"81","Content-Type":"application/json;charset=UTF-8","Host":"127.0.0.1:41752","User-Agent":"Python-urllib/2.7"},"httpVersion":"1.1","method":"POST","post":"{\\"sessionId\\": \\"0eaf7680-9897-11e2-b375-55b9cb6ceb0f\\", \\"id\\": \\":wdc:1364578560610\\"}","url":"/click","urlParsed":{"anchor":"","query":"","file":"click","directory":"/","path":"/click","relative":"/click","port":"","host":"","password":"","user":"","userInfo":"","authority":"","protocol":"","source":"/click","queryKey":{},"chunks":["click"]},"urlOriginal":"/session/0eaf7680-9897-11e2-b375-55b9cb6ceb0f/element/%3Awdc%3A1364578560610/click"}' ; Screenshot: available via screen
,536,913,632 10
저는 JS 놈입니다. 나는 누군가가 올바른 방향으로 나를 가리킬 수 있기를 바라고 있습니다.
Yup! 완벽하게 작동합니다. 감사! – brma