qq2667983836 2016-07-27 13:46 采纳率: 0%
浏览 21209

selenium获取元素后用click()点击没有作用,用Keys.ENTER就可以成功,求解

selenium获取元素后用click()点击没有作用,用键盘输入enter(Keys.ENTER)就可以成功,请问是什么原因呢?求解

selenium脚本如下:

#coding = utf-8
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import os
import time

driver = webdriver.Firefox()
driver.get("http://www.baidu.com")
# 选择设置
driver.find_element_by_xpath("//*[@id='u1']/a[8]").click()
# 点击设置里的搜索设置
driver.find_element_by_xpath("//*[@id='wrapper']/div[5]/a[1]").click()
time.sleep(3)

m = driver.find_element_by_xpath("//*[@id='nr']")
m.find_element_by_xpath("//option[@value=50]").click()
# 保存设置的信息
driver.find_element_by_xpath("//*[@id='gxszButton']/a[1]").send_keys(Keys.ENTER)    #键盘输入enter
# driver.find_element_by_xpath("//*[@id='gxszButton']/a[1]").click()   #用click()点__击
time.sleep(3)
driver.switch_to_alert().accept()
driver.find_element_by_xpath("//input[@id='kw']").send_keys("selenium")
driver.find_element_by_xpath("//input[@id='su']").click()
time.sleep(30)
driver.quit()

实现的功能是在百度搜索设置里,设置每页显示条数。
自动执行已经实现,只是还有点困惑,为什么用click不行,而用enter可以。
求大神指点。。。谢谢。。。

  • 写回答

4条回答 默认 最新

  • 司金鹏 Calvin 2019-06-05 09:05
    关注

    我来挖个坟哈 我看了一下网页源代码 发现click定位的位置好像是不对的,应该选择更内部的一个方块,总之我改成了以下内容就可以了。
    driver.find_element_by_xpath("//*[@class='prefpanelgo']").click() #解决了

    评论

报告相同问题?

悬赏问题

  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序
  • ¥15 onvif+openssl,vs2022编译openssl64
  • ¥15 iOS 自定义输入法-第三方输入法
  • ¥15 很想要一个很好的答案或提示
  • ¥15 扫描项目中发现AndroidOS.Agent、Android/SmsThief.LI!tr
  • ¥15 怀疑手机被监控,请问怎么解决和防止