帮我弄清楚为什么第二次使用get()方法时,页面不去?该方法仅在使用延时时间时有效。睡眠()
不工作:
LOGIN = 'something@mail.com'
PASS = 'somepass'
LINK = 'https://stepik.org/'
browser = webdriver.Chrome()
browser.get(LINK)
browser.implicitly_wait(5)
browser.find_element_by_id('ember232').click()
username = browser.find_element_by_name('login').send_keys(LOGIN)
pas = browser.find_element_by_name('password').send_keys(PASS)
button = browser.find_element_by_xpath('//button[@type = "submit"]').click()
browser.get('https://stepik.org/lesson/237240/step/3?unit=209628')
工作LOGIN = 'something@mail.com'
PASS = 'somepass'
LINK = 'https://stepik.org/'
browser = webdriver.Chrome()
browser.get(LINK)
browser.implicitly_wait(5)
browser.find_element_by_id('ember232').click()
username = browser.find_element_by_name('login').send_keys(LOGIN)
pas = browser.find_element_by_name('password').send_keys(PASS)
button = browser.find_element_by_xpath('//button[@type = "submit"]').click()
time.sleep(5)
browser.get('https://stepik.org/lesson/237240/step/3?unit=209628')
您正在尝试登录到网站,然后导航到某个内部页面。
点击提交按钮
button = browser.find_element_by_xpath('//button[@type = "submit"]').click()
您正在尝试登录网站。
这个过程需要一些时间。
因此,如果立即点击提交页面后,而登录仍然没有进行,你试图导航到一些内部页面,这将无法工作,因为你仍然没有登录。
但是,您不需要使用硬编码的5秒睡眠。
您可以使用显式等待预期条件,如某些内部元素的presence_of_element_located()
,以表明您在网站内部。一旦满足了这个条件,您就可以导航到所需的内部页面。
尝试另一种方法:
driver.navigate().to("https://stepik.org/lesson/237240/step/3?unit=209628")