我一直试图在使用selenium和python的页面上单击href=“javascript:;”。在
相关的HTML代码是:
<tr>
<td class="Sun out">24</td>
<td class=" out">25</td>
<td class=" out">26</td>
<td class=" out">27</td>
<td class=" out">28</td>
<td id="CellPlayDate0" class=" able"><a href="javascript:;" onclick="fnSelectPlayDate(0, '20171229')">29</a></td>
<td id="CellPlayDate1" class=" able"><a href="javascript:;" onclick="fnSelectPlayDate(1, '20171230')">30</a></td>
</tr>
对于代码,我有:
^{pr2}$相应的错误消息是:
AttributeError: 'list' object has no attribute 'click'
我认为元素是列表的,所以我尝试如下
browser.find_elements_by_xpath('//td[@id="CellPlayDate1"]')[0].click()
然而,另一个错误
IndexError: list index out of range
我认为还有另一种方法可以单击按钮(javascript、onclick)。但是,我是硒的初学者,所以我不知道。在
有什么想法吗?在
似乎
browser.find_elements_by_xpath('//*[@id="CellPlayDate0"]')
返回一个list
元素。在您需要选择一个元素并创建click事件,如下所示
browser.find_elements_by_xpath('//*[@id="CellPlayDate0"]')[0].click()
错误说明了一切:
根据您的代码块,您有:
^{pr2}$而不是
WebElement
返回List
。因此,当您尝试单击List
时,您会看到错误为AttributeError: 'list' object has no attribute 'click'
解决方案是将方法
find_elements_by_xpath
更改为find_element_by_id
,或者构造一个唯一的xpath
,如下所示:由于
WebElement
有一个id
:构造一个
xpath
:这里的问题是,您调用的是}锚点,它实际上有你想要的点击。试试这个:
<td>
列表中的click()
,而不是{注意到使用了
^{pr2}$find_element_by_xpath
而不是find_element[s]_by_xpath
?或使用css:相关问题 更多 >
编程相关推荐