使用xpath设置输入字段

时间:2016-01-19 21:21:26

标签: python-2.7 xpath selenium-webdriver

我有一个这样的表格:

enter image description here

我正在尝试将输入字段值设置为邮政编码值“M3C1B4”,然后我想点击按钮。

虽然我可以点击按钮,但我无法设置输入字段的值。

我尝试了以下代码但没有成功:

driver.execute_script('arguments[0].value = "M3C1B4";', driver.find_element_by_xpath('//div[@class="shippingBox-update"]//input'))
driver.find_element_by_xpath('//div[@class="shippingBox-update"]//input').send_keys('M3C1B4')

单击该按钮可使用以下代码:

driver.find_element_by_xpath('//div[@class="shippingBox-update"]//button').click()

2 个答案:

答案 0 :(得分:1)

您在_中使用-代替"shippingBox_update"。应该是

driver.find_element_by_xpath('//div[@class="shippingBox-update"]//input').send_keys('M3C1B4')

顺便问一下,为什么不使用<input>课程?

driver.find_element_by_class_name("PC_change_input").send_keys('M3C1B4')
driver.find_element_by_class_name("button-submit").click()

答案 1 :(得分:1)

对不起,不好意思。我得到了它的工作。除了错误之外我有_而不是 - &#34; guy&#34;指出,还有另外一个问题。

该框由一个必须首先清除的默认值填充,因为该框仅允许6个值。

这就是诀窍:

driver.find_element_by_xpath('//div[@class="shippingBox-update"]//input').clear()
driver.find_element_by_xpath('//div[@class="shippingBox-update"]//input').send_keys('M3C1B6')
driver.find_element_by_xpath('//div[@class="shippingBox-update"]//button').click()