python selenium firefox的行为

时间:2015-07-25 07:58:54

标签: python firefox selenium

我正在使用带有selenium的firefox浏览器。我正在抓取一个有多个网页的网站,例如Google搜索,您可以在底部选择页面。在每个页面上,我再次点击一个元素,比如google,并从该元素的信息中删除数据。如果我在第三页上的元素信息,并使用我的常规firefox浏览器单击后退按钮,它将返回到第三页。但是,当我使用driver.back()按下selenium中的后退按钮时,它会将我带回第一页。任何人都知道如何解决这个问题?

count = 1
while 1:
    try:
        pages = driver.find_elements_by_css_selector("a.page-number.gradient")
    except:
        break
    for page in pages:
        if page.text==str(count):
            page.click()
            print count
            break
    states = driver.find_elements_by_xpath("//*[@id='table_div']/div/div/table/tbody/tr/td[19]")
    fails = []
    i = 1
    for state in states:
        if state.text == "FAILED":
            fails.append(i)
        i+=1

    for fail in fails:
        print driver.find_element_by_xpath("//*[@id='table_div']/div/div/table/tbody/tr[" + str(fail) + "]/td[19]").text
        driver.find_element_by_xpath("//*[@id='table_div']/div/div/table/tbody/tr[" + str(fail) + "]/td[1]/input").click()
        time.sleep(2)
        errors = driver.find_element_by_name("errors")
        if "\n" in errors.text:
            fixedText = errors.text.split("\n")[0]
            errors.clear()
            errors.send_keys(fixedText)
            time.sleep(1)
            driver.find_element_by_name('post_type').click()
            time.sleep(5)
            driver.switch_to_alert().accept()
            driver.switch_to_alert().accept()
            driver.back()
            driver.back()
        else:
            driver.back()
            driver.switch_to_alert().accept()
            driver.switch_to_alert().accept()
    count+=1

代码非常复杂,但基本上它是无效的driver.back()行

0 个答案:

没有答案