youdaun 2022-09-26 23:31 采纳率: 100%
浏览 996
已结题

显示WebDriver没有这个方法啊find_element_by_link_text'

#python 我从网上学了一个秒杀脚本,从网上查了WebDriver提供的8种元素定位方法,但为什么这里显示WebDriver没有这个方法啊find_element_by_link_text',求告知

from selenium import  webdriver
import datetime
import time

# 连接Chrome浏览器
driver = webdriver.Chrome()

def login(url):
    # 打开淘宝登录页,并进行登录
    driver.get("https://www.taobao.com/")
    time.sleep(3)
    if driver.find_element_by_link_text("亲,请登录"):
        driver.find_element_by_link_text("亲,请登录").click()
        print("请在20秒内完成登录")
        time.sleep(3)
        driver.get(url)
    time.sleep(3)
    now = datetime.datetime.now()
    print('login success:',now.strftime('%Y-%m-%d %H:%M:%S'))


def buy(buytime):
    while True:
        now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
        # 对比时间 ,时间到的话点击结算
        if now >= buytime:
            try:
                # 立即抢购
                if driver.find_element_by_id("J_LinkBuy"):
                    print("速度点击!!!")
                    driver.find_element_by_id("J_LinkBuy").click()
                    time.sleep(0.09)
                    while now >= buytime:
                        try:
                            print('正在提交订单')
                            if driver.find_element_by_class_name('go-btn'):
                                driver.find_element_by_class_name('go-btn').click()
                        except:
                            time.sleep(0.02)
            except:
                time.sleep(0.08)
        print(now)
        time.sleep(0.05)

if __name__ == "__main__":
    times = input('请输入抢购时间:时间格式:2021-12-29 19:45:00.000000')
    url = input('请输入抢购地址')
    login(url)
    buy(times)


运行结果及报错内容
Traceback (most recent call last):
  File "C:\Users\32739\Desktop\python自动化\shopping_taobao.py", line 48, in <module>
    login(url)
  File "C:\Users\32739\Desktop\python自动化\shopping_taobao.py", line 12, in login
    if driver.find_element_by_link_text("亲,请登录"):
AttributeError: 'WebDriver' object has no attribute 'find_element_by_link_text'


我想要达到的结果

使整个代码能够正常运行

  • 写回答

2条回答 默认 最新

  • honestman_ 2022-09-26 23:42
    关注

    新版本全都换成这种了:
    from selenium.webdriver.common.by import By
    • find_element(By.ID,”loginName”)
    • find_element(By.NAME,”SubjectName”)
    • find_element(By.CLASS_NAME,”u-btn-levred”)
    • find_element(By.TAG_NAME,”input”)
    • find_element(By.LINK_TEXT,”退出”)
    • find_element(By.PARTIAL_LINK_TEXT,”退”)
    • find_element(By.XPATH,”.//*[@id=’Title”)
    • find_element(By.CSS_SELECTOR,”[type=submit]”)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月5日
  • 已采纳回答 9月27日
  • 创建了问题 9月26日

悬赏问题

  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分