我开始用硒学习python以自动化一些任务。我有一个无法解决的问题。
我正在尝试创建一个脚本,该脚本将自动单击“下一步”按钮。
我找不到ID为“下一个”的网页元素(按钮)。我尝试了所有可能的解决方案-通过ID,通过xpath等。
我要在其中查找元素的网页部分可能是jquery动态生成的。
这是我得到的错误:
无法找到元素:[id =“ next”]
这是到目前为止我所做的(片段):
from selenium import webdriver
from selenium.common.exceptions import WebDriverException
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
import time
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
browser = webdriver.Firefox(executable_path=r'C:\Users\technik
informatyk\Desktop\python\geckodriver.exe')
browser.get('https://it-szkola.edu.pl/usr')
browser.maximize_window()
browser.implicitly_wait(3)
zgoda = browser.find_element_by_xpath('//*[@id="cookieLayerBoxButton"]')
zgoda.click()
browser.implicitly_wait(10)
emailElem = browser.find_element_by_id('login-box-field-input')
emailElem.send_keys('mylogin')
passwordElem = browser.find_element_by_id('password')
passwordElem.send_keys('mypassword')
passwordElem.submit()
time.sleep(2)
aktualnosci = browser.find_element_by_id('hBLAkt').click()
grandtest = browser.find_element_by_xpath('//* [@id="New178"]/div[2]/div[1]/p[2]/a').click()
lista = browser.find_element_by_link_text('Lista testów').click()
test = WebDriverWait(browser, 10).until(EC.presence_of_element_located((By.XPATH,"/html/body/div[2]/div[1]/div[2]/table/tbody/tr[5]/td[5]/a"))).click()
#browser.refresh()
#time.sleep(2)
nastepne = browser.find_element_by_id("next")
#nastepne = WebDriverWait(browser, 10).until(EC.presence_of_element_located((By.LINK_TEXT, "Następne")))
#nastepne = browser.find_element_by_link_text('Następne').click()
nastepne.click()
屏幕截图 ,
,
,
,
,
非常感谢您的帮助。
答案 0 :(得分:0)
尝试xpath:
browser.find_element_by_xpath('//button[@id="next"]')
尝试获取所有按钮:
btns = browser.find_elements_by_xpath('//button')
for btn in btns:
txt = btn.text
if txt == 'Następne':
btn.click()