我需要检查是否已设置链接的已禁用属性,在以下代码中
<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','')">
我该如何解决这个问题?
答案 0 :(得分:0)
使用this answer获取代码的属性:
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':
# ...