如何使用Python Selenium在文本框(输入)中定位并插入值?

问题描述 投票:0回答:3

我有以下 HTML 结构,我正在尝试使用 Selenium 输入值

NUM
:

<div class="MY_HEADING_A">
    <div class="TitleA">My title</div>
    <div class="Foobar"></div>
        <div class="PageFrame" area="W">                
             <span class="PageText">PAGE <input id="a1" type="txt" NUM="" />  of <span id="MAX"></span> </span>
</div>

这是我写的代码:

head = driver.find_element_by_class_name("MY_HEADING_A")
frame_elem = head.find_element_by_class_name("PageText")

# Following is a pseudo code. 
# Basically I need to enter a value of 1, 2, 3 etc in the textbox field (NUM) 
# and then hit RETURN key.
## txt  = frame_elem.find_element_by_name("NUM")
## txt.send_keys(Key.4)

如何获取这个元素并输入一个值u200eu200eu200eu200eu200eu200eu200eu200e? u200eu200eu200eu200eu200eu200eu200eu200eu200eu200eu200eu200eu200eu200eu200eu200eu200eu200eu200e

python python-2.7 selenium-webdriver form-submit html-input
3个回答
224
投票

假设您的页面在“http://example.com”下可用

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Firefox()
driver.get("http://example.com")

通过 id 选择元素:

inputElement = driver.find_element_by_id("a1")
inputElement.send_keys('1')

现在您可以模拟按 ENTER:

inputElement.send_keys(Keys.ENTER)

或者如果是表格,您可以提交:

inputElement.submit() 

1
投票
web=driver.get('your web address')
input_1=driver.find_element(by=By.ID, value= 'id of element')
input_2=driver.find_element(by=By.ID, value= 'id of element')
input_3=driver.find_element(by=By.ID, value= 'id of element')

time.sleep(7)
input_1.send_keys(your value)
input_2.send_keys(your value)
input_3.send_keys(your value)

1
投票

目前在 2023 年您必须导入 By。

进行以下导入:

from selenium.webdriver.common.by import By

将下面的

Input_you_want_to_send
THE_CLASS_OF_THE_ELEMENT
替换为您正在使用的名称。

Input_you_want_to_send = driver.find_element(By.CLASS_NAME, 'THE_CLASS_OF_THE_ELEMENT')

您也可以使用

by=
value=
,如 Rizwan Syal 所说,但现在这是可选的。

发送密钥与 2023 年相同。

© www.soinside.com 2019 - 2024. All rights reserved.