2016-01-23 132 views
-4

第一个问题:如何使python最小化chrome?Selenium NoSuchElementException with driver.find_element_by_xpath

第二个问题:当使用下一个按钮进入最后一页时如何告诉python继续......而不是给我一个错误?

driver.get("https://www.google.com/#q=" + user_input) 
for n in range(5): 
    driver.find_element_by_xpath("""//*[@id="pnnext"]/span[2]""").click() 
    time.sleep(2) 
    posts2 = driver.find_elements_by_class_name("_Rm") 
    for post2 in posts2: 
     print(post2.text) 
     text_file.write(post2.text + "\n") 

执行此代码我碰到下面的错误后:

Traceback (most recent call last): 
    File "C:/Users/Skid/PycharmProjects/untitled/2nd.py", line 20, in <module> 
    driver.find_element_by_xpath("""//*[@id="pnnext"]/span[2]""").click() 
    File "C:\Users\Skid\AppData\Local\Programs\Python\Python35-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 258, in find_element_by_xpath 
    return self.find_element(by=By.XPATH, value=xpath) 
    File "C:\Users\Skid\AppData\Local\Programs\Python\Python35-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 712, in find_element 
    {'using': by, 'value': value})['value'] 
    File "C:\Users\Skid\AppData\Local\Programs\Python\Python35-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 201, in execute 
    self.error_handler.check_response(response) 
    File "C:\Users\Skid\AppData\Local\Programs\Python\Python35-32\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 181, in check_response 
    raise exception_class(message, screen, stacktrace) 
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="pnnext"]/span[2]"} 
    (Session info: chrome=47.0.2526.111) 
    (Driver info: chromedriver=2.20.353145 (343b531d31eeb933ec778dbcf7081628a1396067),platform=Windows NT 10.0 x86_64) 
+0

你需要更具体。什么是错误?你在哪里得到它? – Guy

+0

@guy修好了对不起, – Nevermind123

+0

我想知道为什么人们反对,但他们没有帮助! – Nevermind123

回答

1

你得到NoSuchElementException,司机无法找到你的元素。将您的xpath更改为此

driver.find_element_by_xpath("//*[@id='pnnext']/span[2]").click() 

不带3引号。

+0

错误:http://pastebin.com/Ykud1qPK – Nevermind123

+1

@ Nevermind123好吧,如果没有我要求的html,我无法真正帮助你。 (并将其添加到您的问题作为文本请,我没有点击链接)。 – Guy

+0

好的男人,我明天再问。这只是一个pastebin链接,但你可以稍后再问,或许是某种东西,可能只是自己修复它 – Nevermind123

相关问题