Selenium不会点击按钮 [英] Selenium will NOT click button

查看:192
本文介绍了Selenium不会点击按钮的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试从此网页抓取数据...
http:/ /agmarknet.nic.in/mark2_new.asp



我需要在商品搜索中输入banana,然后点击Go按钮。



在Stack Overflow的帮助下,我可以启动Firefox,输入Banana...但是Go按钮



我尝试过element.click(),我试过ActionChains,我已经尝试将光标移动到元素已验证它已启用。它只是不会去到下一个搜索页。



其他搜索按钮(B1 ...这是一个通用搜索)排序的工作...除了当selenium点击它,它带来一个不同的页面当我手动点击它...所以这也很奇怪。



我不会得到任何错误...它只是不去到下一页。



感谢您提供任何帮助。

  def SLEEP(num):
for i in range(0,num,1) :
print。,
time.sleep(1)

def click_button(driver,button_name):
assert driver.find_element_by_name(button_name)
button = driver.find_element_by_name(button_name)

如果button.is_enabled():
打印已启用
else:
printIT IS NOT ENABLED

#尝试元素
button.click()
#使用动作链尝试
action = ActionChains(driver)
action.move_to_element .find_element_by_name(button_name))
action.click(driver.find_element_by_name(button_name))
action.perform()

#WORKS
driver = webdriver.Firefox )
driver.get(http://agmarknet.nic.in/mark2_new.asp)
SLEEP(5)
在driver.title中断言AG
print driver.title

#WORKS
textinput = driver.find_element_by_name('cmm')
textinput.send_keys(banana)
SLEEP(5)

#SORT OF WORKS(带来意想不到的页面)
button_name =B1
click_button(driver,button_name)

#不工作
button_name =Go3
click_button(driver,button_name)


解决方案>

button.click()适用于我。请注意,您不需要在操作之间插入 time.sleep

  from selenium import webdriver 


driver = webdriver.Firefox()
driver.get(http://agmarknet.nic.in/mark2_new.asp)

textinput = driver.find_element_by_name('cmm')
textinput.send_keys(banana)

button_name =Go3
button = driver。 find_element_by_name(button_name)
button.click()

c> click()您可以从selenium.webdriver.common.keys中按下空格按钮:

 导入键

...

button.send_keys(Keys.SPACE)

希望有所帮助。


I'm trying to scrape data from this web page... "http://agmarknet.nic.in/mark2_new.asp"

I need to type in "banana" in the commodity search and click the "Go" button.

With the help of Stack Overflow, I'm able to bring up Firefox, type in "Banana"...but the "Go" button (Go3 based on the inspection) WILL NOT FIRE!!

I've tried element.click(), I've tried ActionChains, I've tried moving the cursor to the element, I've verified it's enabled. It just will not go to the next search page.

The OTHER search button (B1...which is a generic search) sort of works...except that when selenium clicks it, it brings up a different page than when I click it manually...so that's weird too.

I DON'T get any errors...it just does not go to the next page.

Thanks in advance for any help you can offer. It's driving me crazy!

def SLEEP(num):
    for i in range(0,num,1):
        print ".",
        time.sleep(1)

def click_button(driver, button_name):
    assert driver.find_element_by_name(button_name)
    button = driver.find_element_by_name(button_name)

    if button.is_enabled():
        print "it is enabled"
    else:
        print "IT IS NOT ENABLED"

    # Try with element
    button.click()
    #Try with action chain
    action = ActionChains(driver)
    action.move_to_element(driver.find_element_by_name(button_name))
    action.click(driver.find_element_by_name(button_name))
    action.perform()

# WORKS
driver = webdriver.Firefox()
driver.get("http://agmarknet.nic.in/mark2_new.asp")
SLEEP(5)
assert "AG" in driver.title
print driver.title

# WORKS
textinput = driver.find_element_by_name('cmm')
textinput.send_keys("banana")
SLEEP(5)

# SORT OF WORKS (brings up unexpected page)
button_name = "B1"
click_button(driver, button_name)

# DOES NOT WORK
button_name = "Go3"
click_button(driver, button_name)

解决方案

button.click() works for me. Note that you don't need to put time.sleep between actions:

from selenium import webdriver


driver = webdriver.Firefox()
driver.get("http://agmarknet.nic.in/mark2_new.asp")

textinput = driver.find_element_by_name('cmm')
textinput.send_keys("banana")

button_name = "Go3"
button = driver.find_element_by_name(button_name)
button.click()

Also, instead of click() you can push space button:

from selenium.webdriver.common.keys import Keys

...

button.send_keys(Keys.SPACE)

Hope that helps.

这篇关于Selenium不会点击按钮的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆