如何对元组元素执行单击操作?

时间:2015-06-11 15:46:07

标签: python selenium-webdriver

我正在尝试在页面上找到一个链接然后单击它的元素。这是DOM的快照:Element 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'。 我不明白的是它是如何返回一个元组的?请帮忙!

1 个答案:

答案 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")