Selenium:PhantomJS上的元素永远不可见

时间:2017-03-28 20:33:55

标签: python selenium phantomjs

我编写了这个简单的测试代码,只有在元素完全加载时才会点击它:

driver = webdriver.Firefox(executable_path="geckodriver.exe")
driver.get("https://watch.nba.com/")

team = driver.find_element_by_xpath("//*[@title='Bucks']")

over = team.find_element_by_xpath('..').find_element_by_xpath('..').find_element_by_xpath('..').find_element_by_class_name("watchgame")

WebDriverWait(driver, 10).until(EC.visibility_of(over))

over.click()

代码很有效,所以我将它复制到我的实际代码中,用第一行代替:

driver = webdriver.PhantomJS()

问题是现在元素 over 从未变得可见,而且我总是得到:

  

selenium.common.exceptions.TimeoutException

即使增加等待时间。

我还读到,使用PhantomJS元素不需要是可见的,但是存在,所以我写了这个:

    WebDriverWait(self.driver, 30).until(EC.presence_of_element_located((By.CLASS_NAME, "watchgame")))

    over.click()

但是这次我得到了:

  

ElementNotVisibleException

你能帮助我吗?

0 个答案:

没有答案