Selenium Python-加载新元素时,按类名称查找元素不起作用

时间:2019-08-29 08:37:25

标签: python selenium web-scraping

我正在编写一个Python程序来访问网站,然后单击具有相同类名的按钮。

条件:

  1. 每次提供6个按钮。
  2. 单击按钮后,它消失。
  3. 单击6个按钮后,只有包含6个按钮的部分刷新,才会出现新的6个按钮。 (然后像这样循环一段时间)

问题是我可以单击仅出现的6个按钮。在包含刷新按钮的部分后, find_elements_by_class_name 找不到新的6个按钮。

问题:每次节刷新时,是否有办法获取 find_elements_by_class_name 或任何其他替代方法来查找新的6个按钮?

非常感谢您的帮助。非常感谢!

这是我的代码的一部分。

webdriver_path = '/xxxxxxx/xxxxx/xxxx'

options = Options()
options.headless = True
options.add_argument('--window-size=1920x1080')
driver = webdriver.Chrome(options=options, executable_path=webdriver_path)

driver.get('https://xxxxx.xxx/')
click_n = 1
While True:
  all_clicks = driver.find_elements_by_class_name('button_me')
  all_clicks[click_n].click()
  print('Click SUCESSFUL')
  click_n +=1
  # if already 6 clicks wait for refresh
  if click_n = 6:
     driver.implicitly_wait(10)
     click_n -= 6
     continue
  else:
     # Wait till click success notice appear
     NoticeNCon = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, '//*[@id="Hint"]/div/b[contains(text(),"success")]')))

0 个答案:

没有答案