在找到包含特定主题标签husky(这是一个超链接)的注释后,我试图单击“删除注释”按钮。
由于有多个“删除注释”按钮,我认为最好的方法是找到带有主题标签的注释,然后单击最近的按钮,但我可能在那里错了。
在图片中,我想点击标签下方突出显示的按钮,而不是下面:
到目前为止,我有
self.browser.find_element_by_xpath('//a[@href="/explore/tags/husky/"]')
哪个成功找到了标签,但之后我很难过。
您可以使用下面的xpath之一。
说明:找到带有“#hasky”文本的文件,获取带有“menuitem”角色的第一个父级li并获取子按钮(带有“删除注释”标题属性):
//a[.='#husky']/ancestor::li[@role='menuitem'][1]//button
//a[.='#husky']/ancestor::li[@role='menuitem'][1]//button[@title='Delete Comment']
//a[contains(@href, "/explore/tags/husky/")]/ancestor::li[@role='menuitem'][1]//button
//li[@role='menuitem' and .//a[.='#husky']]//button[@title='Delete Comment']
简单的东西
//a[.='#husky']//following::button[@title='Delete Comment'][1]
应该工作得很好。如果是我,我会将其包装在一个方法中并传入链接文本以删除相应的注释。然后,您可以获取链接文本并将其放入#husky
位置的定位器中。
def delete_comment(comment)
driver.find_element_by_xpath(f"//a[.='{comment}']//following::button[@title='Delete Comment'][1]").click()