2011-08-31 203 views
1
<div id="feesnav"> 
<div style="float: right;"> 
<button id="b2" class="adjustuserfees_button active" onclick="cusers(this)"/> 
</ 

說我想用python selenium點擊按鈕b2。試過各種XPath的定義,它retunrs找不到定位誤差如何用Python中的這個按鈕定義觸發javascript事件Selenium腳本

下面的代碼不起作用:

self.sel.fire_event("//div[@id='feesnav']//button[@id='b2']", 'click') 
    or self.sel.mouse_down("//div[@id='feesnav']//button[@id='b2']") 

有什麼建議?

+1

這是一個python問題? –

+0

你可能想標註這個javascript和html問題。 – myusuf3

+0

這是一個硒問題 – joe

回答

1

這很簡單我認爲詳細的例子here,就是你要找的。

下面是這裏詳細介紹的內容。

<html> 
<head> 
<script type="text/javascript"> 
function displayDate() 
{ 
document.getElementById("demo").innerHTML=Date(); 
} 
</script> 
</head> 

<body> 

<h1>My First Web Page</h1> 

<p id="demo"></p> 

<button type="button" onclick="displayDate()">Display Date</button> 

</body> 
</html> 

Goodluck。

0

是不是有一個click()方法,或者你說它不適合你?如果你打算在JavaScript的路線,你可以嘗試像下面

String myScript="var element= document.getElementById('b2');"; 
if(browser is not IE) //add some logic here 
    myScript=myScript+"var evObj = document.createEvent('MouseEvents');evObj.initEvent('click',true,true);element.dispatchEvent(evObj);"; 
else 
    myScript=myScript+"element.fireEvent('onclick'); 

selenium.getEval(myScript); 

我仍然不認爲你需要去JS路線。硒應該能夠爲你點擊。你確定沒有隱藏的重複元素嗎?還有,你的代碼沒有同步問題,就像你正在嘗試點擊按鈕之前甚至頁面加載等?

相關問題