无法导航到按钮(Web抓取)-selenium.common.exceptions.NoSuchElementException:消息:没有这样的元素:无法找到元素

时间:2019-05-05 22:35:14

标签: python selenium selenium-webdriver web-scraping beautifulsoup

我正在使用Selenium进行某些Web抓取,但是我无法让程序单击某个按钮。这是具体的错误消息:

selenium.common.exceptions.NoSuchElementException:消息:没有这样的元素:无法找到元素

我不确定出什么问题(我尝试了以下几种方法来尝试导航至以下按钮:

driver.find_element_by_name("HTML-NAME").click()
driver.find_element_by_class("HTML-CLASS").click()
driver.find_element_by_id("HTML-ID").click()
driver.find_element_by_xpath("//a[@id='HTML-ID']").click()
driver.find_element_by_link_text("HTML-LINK-TEXT").click()

这是我要单击的按钮的相应HTML代码:

< a name="HTML-NAME" id="HTML-ID" ptlinktgt="CODE"tabindex="30" onclick="javascript:cancelBubble(event);" href="javascript:submitAction....." class="HTML-CLASS">BTN-TEXT </a

# My code right now

driver = webdriver.Chrome(executable_path="path/chromedriver")
url = "https://...."

driver.get(url)
time.sleep(5)

input_bar1 = driver.find_element_by_xpath("//input[@id='inp1']")
input1 = input("Username: ")
input_bar1.send_keys(username)

input_bar2 = driver.find_element_by_xpath("//input[@id='inp2']")
input2 = input("Password: ")
input_bar2.send_keys(password)

input_bar2.submit()
time.sleep(5)

elem = driver.find_element_by_link_text("BTN-TEXT")
elem.click()
time.sleep(20)

1 个答案:

答案 0 :(得分:0)

我建议您增加提交后的等待时间。 可能浏览器必须加载某些内容(提交之后),并且您试图在DOM中生成元素之前单击它。 (TIPP:wait(number)中的数字是以毫秒为单位的时间。因此,您等待5毫秒才能尝试单击BTN-TEXT元素。请尝试增加此数字。