当前位置: 首页 > 知识库问答 >
问题:

Selenium不向输入字段发送键

马欣德
2023-03-14

我正在尝试刮这个url https://www.veikkaus.fi/fi/tulokset#!/tarkennettu-haku

刮伤主要有三个部分:

    null
# -*- coding: utf-8 -*-
"""
Created on Sat Jun 12 12:05:40 2021

@author: Samu Kaarlela
"""
from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.select import Select
from selenium.webdriver.chrome.options import Options

url = "https://www.veikkaus.fi/fi/tulokset#!/tarkennettu-haku"
wd = r"C:\Users\Oppilas\Desktop\EJ prediction\scraper\chromedriver"

chrome_options = Options()
chrome_options.add_argument("--headless")

webdriver = webdriver.Chrome(
    wd,
    options=chrome_options
)

from_date = "05.05.2021"
to_date = "11.06.2021"
    
with webdriver as driver:
    wait = WebDriverWait(driver,10)
    driver.get(url)
    
    game_type_element = driver.find_element_by_css_selector(
        "#choose-game"
    )
    slc = Select(game_type_element)
    slc.select_by_visible_text("Eurojackpot")
    
    
    from_date_element = WebDriverWait(
        driver,
        20).until(
            EC.element_to_be_clickable(
                (
                    By.CSS_SELECTOR,
                    "#date-range div:nth-child(1) input"
                )
        )
    )
            
    
    ActionChains(driver). \
    click(from_date_element). \
    key_down(Keys.CONTROL). \
    send_keys("a"). \
    send_keys(from_date). \
    perform()
    
    print(from_date_element.get_attribute("value"))
    driver.save_screenshot("./image.png")
    driver.close()
    

我刚刚意识到,当选中时,输入字段从#date-range#from-date变为#date-range#from-date#focus-visible

共有1个答案

司徒寒
2023-03-14

对我来说,简单地做以下工作:

driver.find_element_by_css_selector('.date-input.from-date').send_keys(from_date)
ActionChains(driver).send_keys(Keys.RETURN).perform()
driver.find_element_by_css_selector('.date-input.to-date').send_keys(to_date)
ActionChains(driver).send_keys(Keys.RETURN).perform()
 类似资料:
  • 我试图点击支付信息的输入字段,然后提交这些输入字段的关键字。我发现它们在iframes,但我没有运气切换到不同的帧。我附上了html的图片以及页面的样子。任何帮助都将不胜感激!下面是我的代码: 输入字段/字段的html和屏幕的图像

  • 问题内容: 假设我们有这个网站https://www.coinichiwa.com/,其中有一个BET AMOUNT输入框。它的html是: 我需要在其中添加一些价值。这是我的代码: 但是,既没有将其值设置为“ 0.00000005”,也没有打印输入的。 我不知道怎么了。你能建议吗?为什么不起作用? 问题答案: 您需要先输入文字: 至于第二个问题- 这是一个,您输入的值将保留在属性内,而不是文本内

  • 我就是这样把“阿姆斯特丹”送进田野的。但没有结果。我也试着。清除()场地。 但如果我用手打。它返回结果。我对旁边的搜索字段也做了同样的事情。效果很好。 下面我先关闭登录弹出。然后选择单程机票的包厢。然后我把原点定在伊斯坦布尔。但我不能把目的地定在阿姆斯特丹或其他任何城市。 这里会有什么问题?谢谢

  • 我有一个网站,我想运行购物车功能的完整过程。一切顺利,直到我点击付款方式,选择借记卡和。在将数据放入字段时,它不接受。如何将数据放入字段中。以下是测试网站的链接:https://vapesuite.allomate.solutions/#/.下面是将数据输入字段的代码。

  • 问题内容: 我正在使用Java,Selenium和Chrome进行测试自动化。我们的开发人员最近将UI从AngularJS升级到Angular2(不确定是否重要)。但是从那以后,sendKeys在文本字段中输入不完整的字符。这是一个例子: 我也尝试使用executeScript。没用 它可以输入完整的字符,但表单认为该字段为空。 我还尝试在.sendKeys之前使用.click()并增加睡眠时间。

  • 我在selenium查找输入文本字段时遇到了问题--'billing-address__line-1我使用的代码是- 错误信息 线程“main”org.openqa.selenium.nosuchelementException:没有这样的元素:无法定位元素:{“method”:“xpath”,“selector”:“.//fieldset[.//input[@id='billing-addres