Selenium Python-这不是重复的问题..实际上无法正确定位元素

时间:2019-02-19 08:14:13

标签: python selenium screenshot

我有以下程序可以通过硒来截屏

    from selenium import webdriver
    from selenium.common.exceptions import TimeoutException
    from selenium.webdriver.common.keys import Keys
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver.common.by import By
    driver = webdriver.Chrome(executable_path='C:\Downloadsnew\chromedriver_win32\chromedriver.exe')
    driver.maximize_window()
    #driver.implicitly_wait(40)
    driver.get("https://now.com/welcome.do")
    #element=WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.id,'user_name')))
    elem = driver.find_element_by_id("user_name")
    elem.send_keys("user1")
    elem = driver.find_element_by_id("user_password")
    elem.send_keys("password1")
    elem.send_keys(Keys.RETURN)
    elem.click()
    WebDriverWait(driver, 100).until(EC.url_changes(driver.current_url))
    element=WebDriverWait(driver, 10).until(EC.presenceOfElementLocated((By.XPATH,"//div[@class='sn-widget-list-title'][contains(.,'Dashboards')]"))).click()
   print(element)

执行时,应使用用户名和密码登录,然后它将打开另一个页面,然后我需要单击显示仪表板的链接。

现在发生的事情是它成功登录,然后进入主页后,它抛出错误

    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: element is not attached to the page document
  (Session info: chrome=71.0.3578.98)

所以我不确定它说的是哪个元素并且其仪表板单击不起作用...可以有人提示出什么问题了...所以我使用了一个称为truepath的chrome扩展程序来了解该仪表板链接的确切xpath ...就像

//div[@class='sn-widget-list-title'][contains(.,'Dashboards')]

当我使用另一个名为Element locator的工具时,我得到了如下所示的xpath

//*[@id="b9169d55873212001ac119fa84e3ece3"]/div[1]/div[1]

当我在该仪表板链接上进行常规检查时,然后复制选择器和xpath,我得到的是这样:

// * [@ id =“ b9169d55873212001ac119fa84e3ece3”] / div / div

css选择器:

#b9169d55873212001ac119fa84e3ece3 > div > div

这是该面板的html检查

enter image description here

我尝试了以上所有步骤来查找该元素,然后单击但没有任何建议。

0 个答案:

没有答案