在Selenium中如何在点击我们实际移动到另一个页面的元素时检查?

时间:2018-01-15 08:23:57

标签: selenium automation

这些场景是当你点击第A页的提交按钮时,它会在大多数时间将你重定向到Page B,但是有一些条件会在没有进入B页的情况下将你带回到Page A.

此外,可能存在前端验证错误,有时会阻止提交按钮将控制权转移到下一页。

所以我确实想要验证当我点击提交按钮时它已将我带到了页面B,或者如果再次显示页面A,则不是因为验证错误,而是重定向后出现的新页面。

3 个答案:

答案 0 :(得分:1)

确保您的网址在点击提交按钮后得到更改如果是,您可以使用以下代码

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException

options = Options()
options.add_argument("--headless")
options.add_argument("start-maximized")
options.add_argument("disable-infobars")
options.add_argument("--disable-extensions")
driver = webdriver.Chrome(chrome_options=options, executable_path=r'C:\Utility\BrowserDrivers\chromedriver.exe')
driver.get('http://www.website.com')

while (driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")):
    try:
        WebDriverWait(driver, 50).until(EC.visibility_of_element_located((By.XPATH, "//div[@itemprop='itemListElement']" )))
        # do your other actions within the Viewport
    except TimeoutException:
        break
print("Reached to the bottom of the page")

答案 1 :(得分:1)

在第A页点击提交按钮后,有两种方法可以确保我们已成功导航到第B页:

  1. 点击页面A上的提交按钮后,检查页面B的任何定位器(通常是页面标题或按钮)的存在。(推荐) *选择定位器应该适用于所有情况
  2. 检查网址的变化。(不太可取)

答案 2 :(得分:0)

1.检查页面网址的变化。
2.在点击提交按钮之前和之后比较页面的内容。