我正在使用Selenium2对我的网站进行一些自动化测试,我希望能够获得一些Javascript代码的返回值.如果我foobar()在我的网页上有一个Javascript函数,并且我想调用它并将返回值放入我的Python代码中,我可以调用什么来做到这一点?
我目前正在使用 Python 和 selenium 来监视对 pbx 的更改。我需要的值正在被 javascript 调用调用,但实际上并未写入 html,因此我对如何提取该值有点困惑。如果我检查元素,这就是我所看到的
<input class="SEditorInputText" id="extension_4" maxlength="15" onkeyup="javascript:onEditNumber(this);" onchange="javascript:onPropertyChange(this);" type="text">
Run Code Online (Sandbox Code Playgroud)
在网页上,它显示号码 1001,这是我们的寻线组号码。我假设该数字是由onkeyup="javascript:onEditNumber(this)函数生成的,如果是这样,是否有办法将输出发送到控制台,以便我可以评估分配的数字?
到目前为止,这是我的硒代码
#!/usr/bin/env python
import time
import sys, urllib2
from selenium import webdriver
driver = webdriver.Firefox()
login_username = '<username>'
login_password = '<password>'
url = '<login Url>'
scripts = '<scripts Url>'
driver.get(url)
username = driver.find_element_by_name("username")
password = driver.find_element_by_name("password")
username.send_keys(login_username)
password.send_keys(login_password)
link = driver.find_element_by_name("loginbutton")
link.click()
driver.get(scripts)
aa = driver.find_element_by_xpath(".//input[contains(@onclick, 'compsci-main-aa.aef')]").click()
opt1 = driver.find_element_by_id('extension_4')
Run Code Online (Sandbox Code Playgroud)
到目前为止,它按预期进入相关部分,但就像我之前提到的那样,我需要该变量的值。完成后,此脚本将无头运行。
提前致谢。