2017-01-31 5 views
2

検索した後、次のページに行きます。私は最初のページを取得していますが、次のページに移動するには、次のページの要素をクリックするようにスクロールする必要があります。コードに示されているように、Webページをスクロールするためのさまざまな方法を試しましたが、まだElementNotVisibleExceptionエラーが発生しています。誰でもスクロールがうまくいかない理由を教えてもらえますか?セレンのpythonの要素にスクロールできません

import selenium 
from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 
from bs4 import BeautifulSoup 
import time 
driver = selenium.webdriver.PhantomJS(executable_path=r'C:\phantomjs-2.1.1-windows\bin\phantomjs.exe') 
driver.get('https://www.texasbar.com/am/Template.cfm;jsessionid=7EB4486736A022DC2AB99C24E9071D70.cfusion?Section=Find_A_Lawyer&template=/Customsource/MemberDirectory/Search_form_client_main.cfm&CFID=39868973&CFTOKEN=2f314a81f05a55c6-469AE4D3-91FD-AA7B-9D59C8F7DB39779F') 
time.sleep(4) 
elem = driver.find_element_by_id("Zip").send_keys("75001"+"\n") 
time.sleep(6) 
new = driver.find_element_by_css_selector("form[name=\"HiddenFormFields\"] > a.next-btn.btn") 
driver.execute_script("window.scrollTo(0, 7664)") 
#driver.execute_script("window.scrollTo(0, document.body.scrollHeight);") 
#driver.send_keys(Keys.END) 
new.click() 
time.sleep(4) 
pagesource = driver.page_source 
soup = BeautifulSoup(pagesource, 'html.parser') 
print(soup) 
+0

フルページのスクリーンショットを撮り、実際にそうであるかどうか確認してみてください。またはセレンがfirefox/chromeを見ることができるブラウザを開くことを許可しますか? Phantomjsは、あなたが期待していることをしていない可能性があります。 – jmunsch

+0

@jmunsch私はスクリーンショットを撮った。ファントムのスクリーンショットに次のページのアイコンが表示されているようです。スクリーンショットのリンクはhttp://i.imgur.com/m7RlphL.pngですが、次のリンクアイコンの外観はブラウザとphantomjsのスクリーンショットで異なります。まだ次のリンクがスクリーンショットに存在するので、おそらく動作するはずですが、動作していません – Aman

答えて

2

最後に私はこの問題を解決しました。 URLを取得する前に、ブラウザのウィンドウサイズをdriver.set_window_size(1124,850)に設定して解決しました。

関連する問題