我有一个要抓取的网站,需要滚动浏览网页上的表格的水平方向(最右边)和垂直方向(最底部)。我正在使用Python3,Selenium和Chrome驱动程序。
我可以抓取表格数据,但是只能抓取到网页上可见的数据。当我检查网页时,找不到任何滚动信息。
在线研究我已经看到了使用Selenium滚动的各种方法,甚至可以通过xpath找到然后滚动。到目前为止,我还没有运气,但是可能做错了。
html=browser.find_element_by_xpath('/html/body/form/div[3]/div[2]/div/div[2]/div/div[2]')
html.send_keys(Keys.END)
for tr in browser.find_elements_by_xpath('/html/body/form/div[3]/div[2]/div/div[2]/div/div[2]'):
tds = tr.find_elements_by_tag_name('td')
action_log = ([tr.text for tr in tds])
我只想能够一直垂直滚动到表格底部,并一直水平滚动到我能做到的最大程度(页面加载后仅一次)。同样,在网页上的表格内滚动-不在Chrome本身内。请注意,我的表格数据大小将更改。
答案 0 :(得分:0)
我一直在梳理该站点以弄清楚如何滚动,最后最终使用了它,效果很好(因为该站点已经获取了所有数据)。需要注意的是,这是在滚动网页底部而不是Chrome本身的表格元素。虽然最大化窗口时效果最佳。
bg = browser.find_element_by_xpath('/html/body/form/div[3]/div[2]/div/div[2]/div/div[2]/div[4]/div[4]')
for _ in range(3):
bg.send_keys(Keys.END)
time.sleep(.5)