我正在尝试单击“ 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()
我想要一种单击元素并填充关联页面的更有效方法。
答案 0 :(得分:0)
使用xpath按类名和基础元素查找范围应该起作用:
driver.find_element_by_xpath("//span[@class='workable-tops']/a").click()
如果这不起作用,则可能需要添加等待元素可点击的条件。
答案 1 :(得分:0)
引入WebDriverWait
和element_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)
谢谢大家的支持。