Skip to main content
 首页 » 编程设计

python之无法滚动到 Selenium python中的元素

2024年10月01日18tintown

我正在尝试在搜索后访问下一页。我正在获取第一页,但为了转到下一页,我需要向下滚动以单击下一页元素。我尝试了代码中所示的不同方法来向下滚动网页,但尽管我进行了所有尝试仍然收到 ElementNotVisibleException 错误。谁能告诉我为什么滚动不起作用。

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) 

请您参考如下方法:

终于解决了这个问题。在获取url之前,我设置了浏览器窗口大小driver.set_window_size(1124,850),就解决了。