algorithm6 2023-09-05 20:42 采纳率: 76.2%
浏览 9
已结题

selenium的问题

我在学习selenium的过程中,编写如下程序:

from selenium import webdriver
from selenium.webdriver.edge.service import Service as EdgeService
from selenium.webdriver.common.by import By

options = webdriver.EdgeOptions()
service = EdgeService(executable_path='msedgedriver.exe')
browser = webdriver.Edge(service=service, options=options)
browser.get('https://www.taobao.com')

login_btn = browser.find_element(By.NAME, '登录')

运行报错:

img

img


请问要怎么修改

  • 写回答

2条回答 默认 最新

  • 不氪金玩家 2023-09-05 20:59
    关注

    这个错误是页面上没有这个元素,打开浏览器,确实没有你写的这个登录按钮元素,你要定位的元素表达式写错了

    from selenium import webdriver
    from selenium.webdriver.edge.service import Service as EdgeService
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.wait import WebDriverWait
    from selenium.webdriver.support import expected_conditions as ex
    
    options = webdriver.EdgeOptions()
    service = EdgeService(executable_path='msedgedriver.exe')
    browser = webdriver.Edge(service=service, options=options)
    browser.get('https://www.taobao.com')
    
    WebDriverWait(driver, 15).until(ex.visibility_of_element_located((By.XPATH, "//a[text()='亲,请登录']")))    # 等待这个按钮的出现
    login_btn = browser.find_element(By.XPATH, "//a[text()='亲,请登录']")
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

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