我正在尝试点击下载按钮。按钮的HTML代码如下:
<a class="x-btn toolbar-menu x-unselectable x-box-item x-toolbar-item x-btn-transparent-medium" style="padding: 0px 5px; right: auto; left: 1121px; margin: 0px; top: 0px;" hidefocus="on" unselectable="on" id="toolbarbutton-1054" tabindex="-1" data-qtip="<b>Export</b><br/>Export your report into a CSV file." componentid="toolbarbutton-1054">
<span id="toolbarbutton-1054-btnWrap" data-ref="btnWrap" role="presentation" unselectable="on" style="" class="x-btn-wrap x-btn-wrap-transparent-medium ">
<span id="toolbarbutton-1054-btnEl" data-ref="btnEl" role="presentation" unselectable="on" style="" class="x-btn-button x-btn-button-transparent-medium x-btn-no-text x-btn-icon x-btn-icon-left x-btn-button-center ">
<span id="toolbarbutton-1054-btnIconEl" data-ref="btnIconEl" role="presentation" unselectable="on" class="x-btn-icon-el x-btn-icon-el-transparent-medium sdc-icon-export " style=""> </span>
<span id="toolbarbutton-1054-btnInnerEl" data-ref="btnInnerEl" unselectable="on" class="x-btn-inner x-btn-inner-transparent-medium">
</span>
</span>
</span>
</a>
我试过这个:
driver.find_element(By.ID , "toolbarbutton-1054-btnEl").click()
获取错误:selenium.com.mon.exceptions.ElementNotInteractiableException:消息:元素不可交互
当我尝试下面的命令时,它不会给出错误,并且元素是可识别的。只是我不能点击它。
driver.find_element(By.ID , "toolbarbutton-1054-btnEl")
嘿,你可以使用下面的代码
class_element= driver.find_element_by_class('x-btn toolbar-menu x-unselectable x-box-item x-toolbar-item x-btn-transparent-medium')
class_element.click()
也可以使用driver.find_element_by_xpath('xpath here')
实际上,Span没有可点击的功能。
请使用python selenium执行以下javascript代码:
document.getElementById('toolbarbutton-1054-btnEl').click();
我不知道如何使用python selenium执行javascript代码,但它会起作用。
我把它和C#Selenium一起使用。
在Python中,它应该使用以下代码:
s=driver.find_element(By.ID , "toolbarbutton-1054-btnEl")
driver.execute_script("arguments[0].click();",s)
我使用了以下链接作为参考:
https://www.tutorialspoint.com/running-javascript-in-selenium-using-python