我正在尝试在页面上找到一个链接然后单击它的元素。这是DOM的快照:
这就是我试图找到它的方式:
try:
PublishAPostButton = WebDriverWait(Driver.Instance,30).until(lambda d:Driver.Instance.find_element_by_xpath("//div[@class='articles-actions']/a[starts-with(text(),'Publish a post')]")).is_displayed(), "Link still not exists"
except:
print("Publish a post link not available")
else:
PublishAPostButton.click()
print("Publish a post link was clicked")
'尝试'块执行时没有任何错误或异常但它返回一个元组(不知道为什么!)。控制转到'else'并尝试单击。显然,它无法单击元组,因此会出错。这是我得到的错误: AttributeError:'tuple'对象没有属性'click'。 我不明白的是它是如何返回一个元组的?请帮忙!
答案 0 :(得分:3)
因为try块中的括号关闭不正确,请将其更改为以下:
try:
PublishAPostButton = WebDriverWait(Driver.Instance,30).until(lambda d:Driver.Instance.find_element_by_xpath("//div[@class='articles-actions']/a[starts-with(text(),'Publish a post')]")).is_displayed()
except:
print("Publish a post link not available")
else:
PublishAPostButton.click()
print("Publish a post link was clicked")