Python-Selenium无法找到要点击的按钮的“id”

时间:2016-11-12 13:32:18

标签: python google-chrome selenium

这是我希望我的代码点击的“按钮”,你可以看到它的ID是:“syi-create” https://gyazo.com/0b03a884cb62227aeebb3dd82b1c67ff

这是我的代码:

from selenium import webdriver
from selenium.webdriver.common.by import By
from time import sleep



browser = webdriver.Chrome("C:/Users/sebastian/desktop/chromedriver.exe")
browser.get('https://www.dba.dk/log-ind/?returnUrl=%2F')

emailStr = "Censored"
passwdStr = "Censored"

def loginDBA(username, password):
    email = browser.find_element_by_id('Email')
    email.send_keys(username)
    adgangskode = browser.find_element_by_id('Password')
    adgangskode.send_keys(password)

    login = browser.find_element_by_id('LoginButton')
    login.click()
loginDBA(emailStr, passwdStr)




opretAnnonce = browser.find_element_by_id("syi-create")
sleep(5)
opretAnnonce.click()

请注意,您无法运行该脚本,因为我“审查”了用户名和密码。所以它不会登录,但无论如何都没有必要。

登录时,该黄色按钮是我要按的按钮。但正如你可能意识到的那样,由于某些原因它找不到按钮。因此无法点击它。

这是错误代码(:

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"id","selector":"syi-create"}
  (Session info: chrome=54.0.2840.71)
  (Driver info: chromedriver=2.25.426923 (0390b88869384d6eb0d5d09729679f934aab9eed),platform=Windows NT 10.0.14393 x86_64)

哪个非常具体地说我找不到id,这是非常奇怪的,因为你可以在这里看到我做的:https://gyazo.com/0b03a884cb62227aeebb3dd82b1c67ff 这是另一个我搜索按钮的“id”: https://gyazo.com/f4ab86efefc1bc420e71aeca93ed36ca

我做错了什么?

1 个答案:

答案 0 :(得分:0)

您可以使用xpath按ID查找元素,也可以使用

sleep(10)
opretAnnonce = browser.find_element_by_css_selector("#syi-create")

或者

sleep(10)
opretAnnonce = browser.find_element_by_xpath('//div[@id = "syi-create"]')