我使用以下代码使用Python提交表单。
输入的值正确后,会重定向到名为http://localhost/a/my.php
的新页面。如何检查页面是否使用python重定向,以便我可以知道输入的值是正确的。
from selenium import webdriver
webpage = r"http://localhost/a/"
driver = webdriver.Chrome("C:\chromedriver_win32\chromedriver.exe")
for i in range(10):
searchterm = i # edit me
driver.get(webpage)
sbox = driver.find_element_by_class_name("txtSearch")
sbox.send_keys(searchterm)
submit = driver.find_element_by_class_name("sbtSearch")
submit.click()
答案 0 :(得分:1)
在加载新DOM后找到仅存在的元素。如果您能找到它,那么您就在新页面上。
try:
driver.find_element_by_class_name("txtSearch")
print("redirected to new page")
except NoSuchElementException:
print("oops, no redirect happened")
答案 1 :(得分:0)
尝试使用current_url:
driver.current_url
答案 2 :(得分:0)
要检查网页是否正确重定向,请使用 com.tools.vo.event.GsonAdaptersGetEventDataBalancesVO
com.tools.vo.event.ImmutableGetEventDataVO
(又名“显式等待”)
WebDriverWait
子句设置为以下之一:
expected_conditions
:
url_to_be
WebDriverWait(driver, 10).until(EC.url_to_be("https://www.google.co.in/"))
:
url_matches
WebDriverWait(driver, 10).until(EC.url_matches("https://www.google.co.in/"))
:
url_contains
WebDriverWait(driver, 10).until(EC.url_contains("google"))
:
url_changes