擅长:python、mysql、java
<p>您应该将find元素的操作放在for循环中,以避免过时的元素异常</p>
<pre><code>def planDicts():
# maxTablink = maxTabLink() #finds a link with all the plans
driver.get('https://www.koodomobile.com/rate-plans?INTCMP=KMNew_NavMenu_Shop_Plans')
planTypeTab = wait.until(EC.presence_of_all_elements_located((By.CSS_SELECTOR, '.filter-wrapper')))
for i in range(1, len(planTypeTab)+1):
tab = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, '.filter-wrapper:nth-child('+i+')')))
driver.execute_script("arguments[0].scrollIntoView();", tab)
actions = ActionChains(driver)
actions.move_to_element(tab)
actions.click()
actions.perform()
planName = wait.until(EC.presence_of_all_elements_located((By.CSS_SELECTOR, '#block-system-main > div > div > div.view-content > div.rate-plan-block > div.tab-header-wrapper > h2')))
planName = planName[0].text
print(planName)
</code></pre>