Selenium에서 Javascript 코드의 반환 값 가져오기
제 웹사이트 자동 테스트를 위해 셀레늄2를 사용하고 있는데 자바스크립트 코드의 반환값을 알고 싶습니다.만약에 제가foobar()
웹 페이지의 Javascript 기능을 호출하고 반환 값을 파이썬 코드로 가져오고 싶은데, 그러기 위해 무엇을 호출할 수 있습니까?
값을 반환하려면 다음을 사용합니다.return
전달된 문자열의 JavaScript 키워드execute_script()
방법, 예:
>>> from selenium import webdriver
>>> wd = webdriver.Firefox()
>>> wd.get("http://localhost/foo/bar")
>>> wd.execute_script("return 5")
5
>>> wd.execute_script("return true")
True
>>> wd.execute_script("return {foo: 'bar'}")
{u'foo': u'bar'}
>>> wd.execute_script("return foobar()")
u'eli'
아래 예제 코드와 같이 코드의 스니펫을 함수로 작성하지 않더라도 값을 반환할 수 있습니다.return var;
여기서 var는 반환할 변수입니다.
result = driver.execute_script('''
cells = document.querySelectorAll('a');
URLs = [];
[].forEach.call(cells, function (el) {
URLs.push(el.href)
});
return URLs
''')
result
에 있는 배열을 포함합니다.URLs
이 사건
언급URL : https://stackoverflow.com/questions/5585343/getting-the-return-value-of-javascript-code-in-selenium
'source' 카테고리의 다른 글
Spring Boot Web Client.기존 서블릿 멀티스레드 애플리케이션에서 빌더빈 사용 (0) | 2023.07.24 |
---|---|
url 요청에서 배열을 보내는 방법 (0) | 2023.07.24 |
require가 정의되어 있지 않습니까?노드.js (0) | 2023.07.24 |
저장 프로시저를 사용하여 다른 MariaDB 서버에서 Mariadb의 데이터베이스 개체에 액세스 (0) | 2023.07.24 |
%f를 Python에서 strftime()과 함께 사용하여 마이크로초 가져오기 (0) | 2023.07.24 |