最近迷上了用selenium去登陆各大网站,别说selenium真挺好用,可以轻松搞定ajax动态加载的网页,不用很费劲的去抓包查找。咳咳…跑题了,回归正题。
这次用selenium去登录12306网站,听说比较困难。我就去试了试,发现它的验证码实在是那啥…就是这样的。听头疼的。
最后嘛,我们得到了验证码的坐标,当然就去点击啦。但是,这个坐标是相对于验证码的图片的坐标,我们必须用ActionChains来移动一下动作链的位置。把他移动到验证码图片的location。,然后点击就ok了。此步骤的代码如下:
# 循环遍历点击图片 for i in all_list: <div>本文来源gaodai.ma#com搞#代!码网_</div> x = i[0] y = i[1] action = ActionChains(driver).move_to_element_with_offset(code_img, x, y).click().perform() time.sleep(1) driver.find_element_by_id('loginSub').click()