source

Selenium에서 Javascript 코드의 반환 값 가져오기

manysource 2023. 7. 24. 22:36

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