Python Selenium:链接点击不起作用

时间:2016-12-21 08:43:37

标签: python selenium selenium-webdriver automated-tests

我有以下HTML,我想点击带有文字a的{​​{1}}标记MOUNT TAMALPAIS SP, CA实际上是一种javascript方法。以下是详细信息:

代码

href

HTML

keyword = 'MOUNT TAMALPAIS SP'    
link_text = wait.until(EC.visibility_of_element_located((By.PARTIAL_LINK_TEXT, keyword)))

更新

这里给出了函数的链接:http://pastebin.com/tfny2xdJ

2 个答案:

答案 0 :(得分:2)

如果您无法使用click()方法点击链接,请尝试使用以下代码:

keyword = 'MOUNT TAMALPAIS SP'    
link_text = wait.until(EC.element_to_be_clickable((By.PARTIAL_LINK_TEXT, keyword)))    
driver.execute_script('arguments[0].click()', link_text)

答案 1 :(得分:1)

文本实际上是在您尝试点击的<a>标记的4个不同子元素之间划分的。您可以使用xpath将其基于子元素中的所有文本

keyword = 'MOUNT TAMALPAIS SP, CA'
keywords = keyword.split(' ')
link_text = wait.until(EC.visibility_of_element_located((By.XPATH, '//a[strong[contains(text(), "' + keywords[0] + '")] and strong[contains(text(), "' + keywords[1] + '")] and strong[contains(text(), "' + keywords[2] + '")] and span[contains(text(), "' + keywords[3] + '")]]')))