Selenium 通过'扩展显示的表格;单击'';显示更多';在Python中使用webdriver进行抓取时

Selenium 通过'扩展显示的表格;单击'';显示更多';在Python中使用webdriver进行抓取时,selenium,screen-scraping,Selenium,Screen Scraping,我正在尝试删除此页面的内容: 使用BeautifulSoup和selenium webdriver,在进入“Holdings”表之前,我对所有内容都没有问题,默认情况下,该表只显示前10名。我想得到前25名,点击“显示更多持股”按钮时会显示出来。我“检查”了元素,似乎有一个javascript被调用来“扩展” <a href="javascript:void(0)" data-linkbinding="expand" class="more

我正在尝试删除此页面的内容: 使用BeautifulSoup和selenium webdriver,在进入“Holdings”表之前,我对所有内容都没有问题,默认情况下,该表只显示前10名。我想得到前25名,点击“显示更多持股”按钮时会显示出来。我“检查”了元素,似乎有一个javascript被调用来“扩展”

<a href="javascript:void(0)" data-linkbinding="expand" class="more-data mds-link"><span>Show Fewer Holdings</span> <sal-components-mds-icon name="angle-up" size="small" fill-color="#006fba" class="sal-component-mip-holdings-read-more more-data-label" vce-ready=""><span class="sal-component-ctn sal-component-mds-icon"><svg aria-hidden="true" class="mds-icon mds-icon--s" style="fill: rgb(0, 111, 186);"><title></title> <use xlink:href="#angle-up--s"></use></svg></span></sal-components-mds-icon></a>

但是我不知道在调用webdriver时如何“扩展”这个?为了实现这一目标,我需要改变哪些要素?
谢谢大家!

BS4是您想要使用Selenium的html解析器。还要等待页面加载后的元素可单击,然后简单地抓取元素并单击它

driver = webdriver.Chrome()
driver.get('https://www.morningstar.com/etfs/arcx/vdc/portfolio')
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "a.more-data.mds-link"))).click()
进口

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait 
from selenium.webdriver.support import expected_conditions as EC

您可能需要这样的东西:单击href与单击按钮谢谢。我用的是BS4,我不知道以后该怎么写。直到,这正是我想要的!许多thanksI确实进行了upvote,但它说b/c我没有足够的消息,它不会显示upvote:-(顺便说一句,我尝试了相同的命令来启用webdriver,在另一个页面上单击5年、10年、15年按钮之一,但它给了我一个空白错误:该命令是WebDriverWait(driver,10)。直到(EC.element_to_be_可点击((By.CSS_选择器,“a#yr10mpt”))).click()和网页是谢谢!哦,然后使用复选标记接受答案。发布新问题,我将很快帮助您。