繁体   English   中英

检查是否在Python中使用Selenium禁用了链接?

[英]Check whether a link is disabled using Selenium in Python?

我需要检查以下代码中是否设置了链接的Disabled属性:

<a id="ctl00_ContentPlaceHolder1_lbtnNext" disabled="disabled">Next</a>

但是在最后一页,如果我执行,

next_pg=driver.find_element_by_xpath("//a[@id='ctl00_ContentPlaceHolder1_lbtnNext']")
next_pg.click()
print next_pg.is_enabled()

我得到True作为输出,事实并非如此。 同样,仅在最后一页上对Next进行编码,如上所述,在所有其他页面上,其编码如下,由于在检查is_enabled()标记时会产生错误。

<a id="ctl00_ContentPlaceHolder1_lbtnNext" href="javascript:__doPostBack('ctl00$ContentPlaceHolder1$lbtnNext','')">

我该如何解决?

使用以下答案获取标签的属性:

attrs = driver.execute_script('var items = {}; for (index = 0; index < arguments[0].attributes.length; ++index) { items[arguments[0].attributes[index].name] = arguments[0].attributes[index].value }; return items;', next_pg)

并检查是否存在disabled标签及其值:

if 'disabled' in attrs and attrs['disabled'] == 'disabled':
    # ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM