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

显示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 adb push异常 adb: error: 1409-byte write failed: Invalid argument
  • ¥15 android报错 brut.common.BrutException: could not exec (exit code = 1)
  • ¥15 nginx反向代理获取ip,java获取真实ip
  • ¥15 eda:门禁系统设计
  • ¥50 如何使用js去调用vscode-js-debugger的方法去调试网页
  • ¥15 376.1电表主站通信协议下发指令全被否认问题
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥15 复杂网络,变滞后传递熵,FDA
  • ¥20 csv格式数据集预处理及模型选择
  • ¥15 部分网页页面无法显示!