无法click()href元素

时间:2019-09-12 15:35:52

标签: html python-3.x selenium selenium-webdriver

我正在尝试单击“ WANTED-LINK-!!!”。不断收到“元素点击被拦截”错误!

HTML:

<span class="workable-tops">
  <a href="WANTED-LINK-!!!!" target="_blank"><span class="label-box" data-tops="names">Site555</span></a>
</span>

我正在通过python使用Selenium Webdriver来完成此任务。

dat = driver.find_element_by_css_selector('a[class="workable-tops"]')

dat.find_element_by_partial_link_text('WANT').click()

我想要一种单击元素并填充关联页面的更有效方法。

3 个答案:

答案 0 :(得分:0)

使用xpath按类名和基础元素查找范围应该起作用:

driver.find_element_by_xpath("//span[@class='workable-tops']/a").click()

如果这不起作用,则可能需要添加等待元素可点击的条件。

答案 1 :(得分:0)

引入WebDriverWaitelement_to_be_clickable()并遵循xpath选项。

WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//span[@class='workable-tops']/a[./span[text()='Site555']]"))).click()

您需要导入以下内容。

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

答案 2 :(得分:0)

我可以通过Beautifulsoup通过标签访问它:

    from bs4 import BeautifulSoup  
    driver.get('link')
    soup = BeautifulSoup(driver.page_source,"lxml")
    my_text = soup.find_all("a", class_="workable-tops")
    print(my_text.text) 

谢谢大家的支持。