51Testing软件测试论坛

标题: selenium 求助大佬 [打印本页]

作者: z丶gx    时间: 2018-5-10 20:34
标题: selenium 求助大佬
从百度 登录 到 立即注册   

那个 扫码登录是一个 隐藏的div  点击后 显示 ,我通过 xpath确定位置
我 代码 实现 点击 但 还是 找不到 那个立即注册
用 isdisplay 为 false

作者: 海海豚    时间: 2018-8-24 09:48
driver.findElement(By.xpath(".//*[@id="passport-login-pop-dialog"]/div/div/div/div[4]/a)).click()
直接替换成上面的代码试试呢?
之前用python+selenium的时候也遇到过类似的问题,但是直接click就解决了,这个问题,具体是因为什么,还不太清楚
作者: 海海豚    时间: 2018-8-24 09:52

driver.findElement(By.xpath(".//*[@id="passport-login-pop-dialog"]/div/div/div/div[4]/a)).click()
直接替换成上面的代码试试呢?
之前用python+selenium的时候也遇到过类似的问题,但是直接click就解决了,这个问题,具体是因为什么,还不太清楚

作者: NancyWangDL    时间: 2018-8-24 10:49
用python编写如下,运行没有报错,可以参考下:
from selenium import webdriver

driver = webdriver.Ie()
driver.get('https://www.baidu.com/')
driver.implicitly_wait(2)

driver.find_element_by_link_text('登录').click()
driver.find_element_by_xpath('//*[@id="passport-login-pop-dialog"]/div/div/div/div[4]/a').click()

driver.quit()
作者: jingzizx    时间: 2018-8-24 11:30
使用click方法吧
作者: 梦想家    时间: 2018-8-24 11:57
百度应该会找到方法吧
作者: zhu_angel    时间: 2018-8-24 12:03

#直接运行即可
from selenium import webdriver
#导入time模块
import time
driver=webdriver.Chrome()
driver.get("https://www.baidu.com")
driver.find_element_by_xpath("//*[@id='u1']/a[7]").click()
driver.find_element_by_xpath("//*[@id='u1']/a[7]").click()
time.sleep(3)
driver.find_element_by_link_text("立即注册").click()
作者: libingyu135    时间: 2018-8-24 14:10
click方法试过了吗
作者: Refueling    时间: 2018-8-24 14:37
扫码这个窗口是一个新的窗口,你的鼠标焦点还在原本的页面上是不可能找到立即注册这个元素的,所以你要把焦点转一下,
dr.switch_to.frame(0)转换到下一页面句柄




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2