元素异常



>我正在尝试执行此代码,它显示"NoSuchElementException"此错误。那么谁能帮我这个?

法典:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver= webdriver.Chrome()
page=driver.get("http://www.awgp.org")
banner_tell=driver.find_element_by_Link_text('Tell Me More')
banner_tell.click()

我认为您需要做的就是以大写形式提供链接文本,但当横幅自动滑动到下一个链接时,此链接是动态的。

您应该想出另一个定位器来准确单击要单击的定位器。否则,如果横幅被更改,您可能会ElementNotVisibleException

banner_tell=driver.find_element_by_link_text('TELL ME MORE')

试试 xpath

banner_tell= driver.find_element_by_xpath("//*[contains(text(),'TELL ME MORE')]")

看起来你几乎很近,但function()应该是:

find_element_by_link_text()

要单击带有文本的按钮,如"告诉我更多">,您必须使用expected_conditions子句诱导WebDriverWait,element_to_be_clickable如下所示:

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC    
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.LINK_TEXT, "TELL ME MORE"))).click()

相关内容

  • 没有找到相关文章

最新更新