返回信息流【 以下文字转载自 WWWTechnology 讨论区 】
发信人: BYD21 (丫丫个丫), 信区: WWWTechnology
标 题: [问题]这段 下拉菜单html 该如何用selenium模拟访问,好让我scr
发信站: 北邮人论坛 (Sat Mar 5 14:07:06 2016), 站内
发信人: BYD21 (丫丫个丫), 信区: SearchEngine
标 题: [问题]这段 下拉菜单html 该如何用selenium模拟访问,好让我scra
发信站: 北邮人论坛 (Sat Mar 5 14:02:44 2016), 站内
下面这段html(原址:http://jiaoyu.baidu.com/college/index/?subqid=1457156764977353283&collegeId=110&qid=1457156761294610726&pvid=1457156764977353283&zt=self&tn=NONE&wd=&key=&pssid=0&fromsrc=50009)片段实现了下拉菜单的功能(下拉菜单选择省份),我想用selenium模拟点击下拉菜单中的省份,不知道如何模拟,求助各位!
<div class="dropdown province-tab">
<span class="dropdown-trigger province-button OP_LOG_BTN" data-type="province">
<i></i>
<b>北京</b>
</span>
<ul class="dropdown-menu province-layer" data-click='{"act":"a_click_select_layer" }'>
<li class="list-item addr-item OP_LOG_BTN" data-value="1" data-name="province">北京</li>
<li class="list-item addr-item OP_LOG_BTN" data-value="2" data-name="province">上海</li>
<li class="list-item addr-item OP_LOG_BTN" data-value="3" data-name="province">天津</li>
<li class="list-item addr-item OP_LOG_BTN" data-value="4" data-name="province">广东</li>
<li class="list-item addr-item OP_LOG_BTN" data-value="5" data-name="province">福建</li>
<li class="list-item addr-item OP_LOG_BTN" data-value="8" data-name="province">海南</li>
<li class="list-item addr-item OP_LOG_BTN" data-value="9" data-name="province">安徽</li>
<li class="list-item addr-item OP_LOG_BTN" data-value="10" data-name="province">贵州</li>
<li class="list-item addr-item OP_LOG_BTN" data-value="11" data-name="province">甘肃</li>
<li class="list-item addr-item OP_LOG_BTN" data-value="12" data-name="province">广西</li>
<li class="list-item addr-item OP_LOG_BTN" data-value="13" data-name="province">河北</li>
<li class="list-item addr-item OP_LOG_BTN" data-value="14" data-name="province">河南</li>
<li class="list-item addr-item OP_LOG_BTN" data-value="15" data-name="province">黑龙江</li>
<li class="list-item addr-item OP_LOG_BTN" data-value="16" data-name="province">湖北</li>
<li class="list-item addr-item OP_LOG_BTN" data-value="17" data-name="province">湖南</li>
<li class="list-item addr-item OP_LOG_BTN" data-value="18" data-name="province">吉林</li>
<li class="list-item addr-item OP_LOG_BTN" data-value="19" data-name="province">江苏</li>
<li class="list-item addr-item OP_LOG_BTN" data-value="20" data-name="province">江西</li>
<li class="list-item addr-item OP_LOG_BTN" data-value="21" data-name="province">辽宁</li>
<li class="list-item addr-item OP_LOG_BTN" data-value="22" data-name="province">内蒙古</li>
<li class="list-item addr-item OP_LOG_BTN" data-value="23" data-name="province">宁夏</li>
<li class="list-item addr-item OP_LOG_BTN" data-value="24" data-name="province">青海</li>
<li class="list-item addr-item OP_LOG_BTN" data-value="25" data-name="province">山东</li>
<li class="list-item addr-item OP_LOG_BTN" data-value="26" data-name="province">山西</li>
<li class="list-item addr-item OP_LOG_BTN" data-value="27" data-name="province">陕西</li>
<li class="list-item addr-item OP_LOG_BTN" data-value="28" data-name="province">四川</li>
<li class="list-item addr-item OP_LOG_BTN" data-value="29" data-name="province">西藏</li>
<li class="list-item addr-item OP_LOG_BTN" data-value="30" data-name="province">新疆</li>
<li class="list-item addr-item OP_LOG_BTN" data-value="31" data-name="province">云南</li>
<li class="list-item addr-item OP_LOG_BTN" data-value="32" data-name="province">浙江</li>
<li class="list-item addr-item OP_LOG_BTN" data-value="33" data-name="province">重庆</li>
</ul>
</div>
这是一条镜像帖。来源:北邮人论坛 / python / #12595同步于 2016/3/5
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖
[问题]这段 下拉菜单html 该如何用selenium模拟访问,好让我scr
BYD21
2016/3/5镜像同步2 回复
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
新手小白一枚,试着回答一下,标题没看懂,感觉楼主是想爬所有的清华的高考分,按照这个思路:
点击下拉菜单选城市的时候,发了一个get请求,看了一下和城市的data-value一致的,所以直接爬这个URL就行了吧.
同学,你好,你的下拉框是不是用js实现的哈,我简单的写了下,每隔两秒自动点击
我的html代码
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<select id="ShippingMethod" onchange="updateShipping(options[selectedIndex]);"
name="ShippingMethod">
<option class="1" value="北京">北京</option>
<option class="1" value="上海">上海</option>
<option class="1" value="天津">天津</option>
</select>
</body>
</html>
我的python代码
#-*-coding=utf-8
from selenium import webdriver
import os,time
driver= webdriver.Firefox()
file_path = "http://localhost:8080/duanjuan_test/html_css_js/home/t1.html"
driver.get(file_path)
time.sleep(2)
#先定位到下拉框
m=driver.find_elements_by_tag_name("option")
for i in m:
#再点击下拉框下的选项
i.click()
time.sleep(2)
#driver.quit()