使用Python和Selenium进行Web抓取

时间:2017-11-17 08:51:51

标签: python selenium

我使用以下代码使用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()

3 个答案:

答案 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 子句设置为以下之一:

Python:

  1. expected_conditions

    url_to_be
  2. WebDriverWait(driver, 10).until(EC.url_to_be("https://www.google.co.in/"))

    url_matches
  3. WebDriverWait(driver, 10).until(EC.url_matches("https://www.google.co.in/"))

    url_contains
  4. WebDriverWait(driver, 10).until(EC.url_contains("google"))

    url_changes