如何在python上的selenium webdriver中使用键盘事件/键

Lynn
Lynn
订阅者
223
文章
0
粉丝
测试交流2183字数 359阅读1分11秒阅读模式
摘要在以下代码中:- 我正在从搜索字段中删除文本 然后在搜索字段中添加新订单号 按Enter开始搜索 前两个步骤发生得很好,但当输入按钮代码为。。。

在以下代码中:-

  1. 我正在从搜索字段中删除文本
  2. 然后在搜索字段中添加新订单号
  3. 按Enter开始搜索

前两个步骤发生得很好,但当触发enter按钮代码时,它会在搜索字段中键入323(按订单号追加),而不执行任何操作。我也试过很多其他键,但它们都是数字键,没有键功能可以通过send_键工作。文章源自玩技e族-https://www.playezu.com/188613.html

以下是上述要求的代码:-文章源自玩技e族-https://www.playezu.com/188613.html

import pytest
from curses import KEY_ENTER
from locale import normalize
from time import sleep
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.firefox.service import Service
from selenium.webdriver.support.ui import Select
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
class TestFunc:
    order =""
    def test_validate_offer(self):
        username = "******"
        password = "*****"
        url = "http://*****"
        svc = Service("C:\bin\geckodriver.exe")
        driver = webdriver.Firefox(service=svc)
        pytest.order='3446'
        driver.implicitly_wait(15)
        driver.get("url")
        driver.find_element(By.ID,"login").send_keys(username)
        driver.find_element(By.ID,"password").send_keys(password)
        driver.find_element(By.XPATH,"//button[@type='submit']").click()
        driver.find_element(By.XPATH,"//div[@class='mk_apps_sidebar_panel']//li[2]//a[1]").click()
        driver.find_element(By.XPATH,"//i[@title='Remove']").click()
        driver.find_element(By.XPATH,"//input[@placeholder='Search...']").send_keys(pytest.order)
        wait = WebDriverWait(driver,10)
        search=wait.until(EC.visibility_of_element_located((By.CLASS_NAME, "o_searchview_input")))
        search.send_keys(KEY_ENTER)
        sale_element=driver.find_element(By.XPATH,"//input[@placeholder='pytest.order']")
        sleep(5) 
        assert sale_element.text == pytest.order
        driver.close()

感谢您的帮助。文章源自玩技e族-https://www.playezu.com/188613.html

软件测试技术文章源自玩技e族-https://www.playezu.com/188613.html 文章源自玩技e族-https://www.playezu.com/188613.html

 
评论  2  访客  2
    • undetected Selenium
      undetected Selenium 9

      按下 进来 键而不是 _element_located()的可见性 理想情况下,您需要为 元素可点击() 您可以使用以下任一选项 定位器策略:
      from selenium.webdriver.common.keys import Keys

      wait = WebDriverWait(driver,10)
      search = wait.until(EC.element_to_be_clickable((By.CLASS_NAME, "o_searchview_input")))
      search.click()
      search.send_keys(Keys.ENTER)

      • Lukas Tomek
        Lukas Tomek 9

        我认为你有错误的导入,请尝试以下操作:
        from selenium.webdriver.common.keys import Keys
        search.send_keys(Keys.RETURN)

      匿名

      发表评论

      匿名网友
      :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
      确定

      拖动滑块以完成验证