Python自动化:pubmed实现自动抢票、双十一抢货

python

前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

以下文章来源于英语公主 ,作者 Ldq

 

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

For example :

自动打卡,12306抢票、系统抢课、双十一剁手等等,只要网速过得去,绝对不输人手操作。

PS:如有需要Python学习资料的小伙伴可以私信“资料”

可以免费领取源码、项目实战视频、PDF文件等

 

总代码:

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

 

for i in range(1,50+1):

printg("我错了")

 

 

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

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

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

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

 

 

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

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

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

    

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

 

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

driver.quit()

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

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

以上是 Python自动化:pubmed实现自动抢票、双十一抢货 的全部内容, 来源链接: utcz.com/z/530283.html

回到顶部