从Selenium Python调用脚本

时间:2014-05-09 02:42:18

标签: python selenium selenium-webdriver webdriver

我是selenium的新手,我无法弄清楚如何使用Python和Selenium web驱动程序自动执行以下语句。这是一个可点击的文本元素“我的按钮标签”。

<a class="class_a" href="javascript:f_func(46)" id="func46" ondrag="window.event.returnValue=false" onmousedown="return false;">My Button Label </a>

我试过这个:

driver.execute_script("f_func()", 46)

和这个

driver.execute_script("f_func(46)")

但最终以

结束
selenium.common.exceptions.WebDriverException: Message: u'data[i] is undefined' ; 

指向js内的var深。

模拟单击该元素并调用脚本的正确方法是什么,将46作为参数传入?

编辑:我忘记添加我尝试的第一件事

driver.find_element_by_xx().click()

也失败了。下面的ActionChain Api是唯一对我有用的东西。

1 个答案:

答案 0 :(得分:0)

要调用脚本,您是否尝试过发送参数?

driver.execute_script("f_func(arguments[0])", 46)

但是点击第一名出了什么问题?如果它不适合您,请尝试使用ActionChains

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains

# your code here

# then
ActionChains(driver).click(driver.find_element_by_id('func46')).perform()