我正在使用带有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()行