簡體   English   中英

Selenium - 檢查元素是否存在,否則檢查是否存在另一個元素(在python中)

[英]Selenium - check if element is present else check if another element is present (in python)

我正在編寫一個程序,從我的學校網站上刪除課程,我試圖檢查點擊搜索按鈕后出現的元素。

如果'id1'存在則表示該課程不可用且需要搜索下一個課程,否則如果'id2'存在則表示該課程可用,因此抓取它並搜索下一個課程。

這就是我現在所擁有的,但它不起作用。 我已經厭倦了使用帶有條件語句的webdriverwait,但我也無法讓它工作。 那我怎么解決這個問題呢?

while(i < len(courseNumList)):
   self.clearAndSearch(courseNumList[i], coursePrefixList[i])

   if(len(self.driver.find_elements_by_id('id1')) > 0):
      i = i + 1
      continue
   self.scrapeAndModifySearch(courses, INDEX_NAME, TYPE_NAME)
      i = i + 1

scrapeAndModifySearch():

def scrapeAndModifySearch(self, courses, esindex, estypename):
   self.getCourses(courses, esindex, estypename)
   self.modifySearch()

getCourses():

def getCourses(self, courses, INDEX_N, TYPE_N):
   course = {}

   try:
      element_present = EC.presence_of_element_located((By.ID, 'id2'))
      WebDriverWait(self.driver, 30).until(element_present)
   except TimeoutException:
      print ("Loading took too much time!")

   classSectionsFound = self.driver.find_element_by_xpath('id2').text

好像你搞定了你的定位器。 最后一行應該是:

   classSectionsFound = self.driver.find_element_by_id('id2').text

'id2'無效xpath(至少不適用於HTML文檔)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM