【发布时间】:2014-09-11 14:53:17
【问题描述】:
我正在为相应的网站使用 Selenium:http://calstate-la.bncollege.com/webapp/wcs/stores/servlet/TBWizardView?catalogId=10001&langId=-1&storeId=30556。
我对这个网站的目标是从各自的下拉菜单中获取部门、课程和部分的所有可能组合。我遇到的主要问题是我想不出任何方法来从下拉菜单中获取值。
根据与我类似的其他堆栈溢出问题,他们提到了使用选择标签和选项标签的解决方案。但是,当我查看此页面源时,下拉菜单中没有此类标签。
所以我在尝试从下拉菜单中获取所有组合时需要帮助,但在我的特殊情况下我不知道如何继续。我还想提一下我使用 Python。
【问题讨论】:
-
这些不是下拉菜单,它们是 AJAX 调用以使数据看起来像一个下拉菜单。如果您检查网页,您会注意到您要查找的所有信息都在列表中,
<li>元素。 -
那么我怎样才能点击每个列表元素呢?我可以简单地搜索
<li>标签并点击一下吗? -
您尝试这样做时发生了什么?从您的原始帖子中,尚不清楚您要完成什么。如果“我对这个网站的目标是获得所有可能的组合......”,那么 Selenium 就大材小用了!你可以直接抓取网站的 HTML(比如
wget),然后解析出你想要的信息。 -
确切地说,我需要将所有组合输入到部门、课程和部分中,然后我需要从那里点击查找材料。一旦我得到生成的 html 页面,我将保存它并使用 BeautifulSoup 解析它。我的最终目标是从网站上获取所有书籍。
-
如果您只是对网站进行数据挖掘,那么 Selenium 绝对是矫枉过正——耗时太长,而且太脆弱。另外,请记住网站的所有者(假设您没有获得许可)可能会生气!但我离题了。尝试一些东西,当你有东西给我们看的时候回来。拥有 300 多个代表,您一定已经阅读过此内容:stackoverflow.com/help/on-topic ?
标签: python selenium drop-down-menu selenium-webdriver