2017-09-14 130 views
-2

我试图点击Web界面中的按钮,但正常的点击功能失败,所以我试图执行JavaScript,但无济于事。任何指针将不胜感激。WebDriver导航问题

按钮被称为THISBUTTON

enter image description here

代码

<div class="tab_middle clearfix" id="tab_middle2"> 
    <div class="tab_icon" id="tab_icon2"></div> 
    <div class="tab_title editable" id="tab_title2" data="{&quot;columns&quot;:&quot;2&quot;,&quot;allowConfig&quot;:true,&quot;allowClose&quot;:true,&quot;fixedColumn&quot;:null,&quot;eventCode&quot;:&quot;null&quot;,&quot;pageNumber&quot;:2,&quot;isPreset&quot;:false,&quot;name&quot;:&quot;THISBUTTON&quot;,&quot;boxWidth&quot;:&quot;1220:209&quot;,&quot;autoFit&quot;:true,&quot;isSlideShow&quot;:0,&quot;intIntervalSlideShow&quot;:10,&quot;isReadOnly&quot;:false,&quot;isDisabled&quot;:false}"> 
     <span class="tab_title_span show" id="tab_title_span2">THISBUTTON</span><!--{"columns":"2","allowConfig":true,"allowClose":true,"fixedColumn":null,"eventCode":"null","pageNumber":2,"isPreset":false,"name":"THISBUTTON","boxWidth":"1220:209","autoFit":true,"isSlideShow":0,"intIntervalSlideShow":10,"isReadOnly":false,"isDisabled":false}--><input type="text" id="tab_title_input2" class="tab_title_input hide" maxlength="64"> 
    </div> 
    <div class="tab_controls" id="tab_controls2"> 
     <div class="tab_more_btn" id="tab_more_btn2"></div> 
     <div class="tab_options_btn" id="tab_options_btn2"></div> 
    </div> 
    <div class="tab_more_menu" id="tab_more_menu2"> 
     <div class="tab_more_menu_unit" id="tab_more_menu_rename2">Rename</div> 
     <div class="tab_more_menu_unit" id="tab_more_menu_chg_layout2">Change Layout</div> 
     <div class="tab_close_btn tab_more_menu_unit" id="tab_close_btn2">Delete</div> 
    </div> 
</div> 

我已经尝试以下操作:

clickme = browser.find_elements_by_id('tab_title_span2') 
browser.execute_script("arguments[0].click();", clickme[0]) 
+1

你可以用这个'clickme = browser.find_element_by_id( 'tab_title_span2') browser.execute_script重新尝试( “论据[0]。点击();”,clickme)',让我知道 – NarendraR

+0

您是否尝试过等待元素可点击?这看起来很简单,使用ID。你确定这个ID在页面上是唯一的吗? – JeffC

+0

我已经使用这种方法了@Tuks。 '错误:WebDriverException:消息:未知的错误:参数[0] .click不是一个函数' – iNoob

回答

0

它可能会用行动链的作品。

this_button = browser.find_element_by_id('tab_title_span2') 
ActionChains(driver).move_to_element(this_button).click(this_button).perform() 
+0

将此建议修改为'this_button = browser.find_element_by_id('tab_title_span2') webdriver.ActionChains(browser).move_to_element(this_button).click(this_button).perform()' – iNoob

+0

谢谢你的move_to_element语句移动焦点元素?道歉只是想正确理解这一点 – iNoob

+0

移动到元素是为了鼠标在元素上,一些时间元素也可能获得焦点。 – Murthi