python自动抢票的原理_Python自动化xpath实现自动抢票抢货

Python自动化xpath实现自动抢票抢货

发布时间:2020-10-24 20:56:54

来源:脚本之家

阅读:91

作者:松鼠爱吃饼干

小伙伴们,这次推文讲的是‘xpath‘,掌握起来不难的哦。而且,熟悉了这套路,别说pubmed,任何你能在浏览器实现的操作,都基本能通过selenium自动化进行。

总代码:

for i in range(51,56):

driver.implicitly_wait(10)

ActionChains(driver).move_to_element(driver.find_element_by_xpath('//*[@id="save-results-panel-trigger"]')).click().perform()

Select(driver.find_element_by_xpath('//*[@id="save-action-selection"]')).select_by_visible_text("All results on this page")

ActionChains(driver).move_to_element(driver.find_element_by_xpath('//*[@id="save-action-format"]')).click().perform()

Select(driver.find_element_by_xpath('/html/body/main/div[1]/div/form/div[2]/select')).select_by_visible_text("CSV")

ActionChains(driver).move_to_element(driver.find_element_by_xpath('//*[@id="save-action-panel-form"]/div[3]/button[1]')).click().perform()

target =driver.find_element_by_xpath('//*[@id="search-results"]/section/div[3]/a/span')

driver.execute_script("arguments[0].();", target)

ActionChains(driver).move_to_element(driver.find_element_by_xpath('//*[@id="search-results"]/section/div[3]/a/span')).click().perform()

ActionChains(driver).move_to_element(driver.find_element_by_xpath('//*[@id="search-page"]/div[12]/div/form/button')).click().perform()

print('第'+str(i)+'页下载成功')

print('跳转第'+str(i+1)+'页面中')

driver.quit()

print('全部下载完毕,自动退出。')

代码1

3c67235ad899c5b01d8dbf0835d1058f.png

for i in range(1,50+1): printg('我错了')

041b42a4733c684f3ecea99471c01fff.png

9a706fa5c70e6b6a0c0c5e838fe2171e.png

操作如下:鼠标移动到Save按钮→鼠标右击→检查,

可以发现源代码有一块区域亮起来了

这块区域就是Save按钮对应的源代码→鼠标移动到该源代码区域→右击→复制→复制XPath,

这样我们就复制了Save按钮的Xpath了,接下来只需要粘贴到代码就行.

7dda0ca89973d82904152ce2aac141a8.png

e9e93c2199f0761d3a3a137ce3a69550.png

小伙伴们是否还记得ActionChains的万能公式:

ActionChains(driver).move_to_element(driver.find_element_by_xpath('xpath_content')).click().perform()

我们只需要把刚才复制的xpath粘贴到代码中的“xpath_content”区域就行

是不是很熟悉呢,是的,这便是我们使用ActionChains模块实现的第一个操作,后续的一样噢,只需要复制对应的Xpath直接粘贴就行了。

4b6a316e8f81812fc45b586b65e2d4b3.png

最后,因为以上均是循环体的内容,当代码执行完整个循环体了,我们可以通过代码直接关掉浏览器,提醒我们打印完了,代码如下

driver.quit()

print('全部下载完毕,结束了')

因为这两句代码已经不是循环体的内容了,所以无需另起一行空两个,而且,小伙伴记得噢,所有字符都是英文字符,包括括号、引号等等。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持亿速云。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值