为了账号安全,请及时绑定邮箱和手机立即绑定

请问一下python+selenium怎么定位页面弹窗的元素?

/ 猿问

请问一下python+selenium怎么定位页面弹窗的元素?

python+selenium怎么定位页面弹窗的元素


查看完整描述

3 回答

?
胡说叔叔

定位页面元素
//通过Id定位元素
WebElement element = driver.findElement(By.id(“id名"));
//通过name定位元素
WebElement element = driver.findElement(By.name(“name名"));
//通过xpath定位元素
WebElement element = driver.findElement(By.xpath(“xpath路径"));
//通过标签的值定位元素
WebElement cheese = driver.findElement(By.linkText(“标签的值"));
//通过class的值定位元素
List list=driver.findElements(By.className(“class值"));
//通过标签名定位元素
List list = driver.findElements(By.tagName(“标签名"));



查看完整回答
反对 回复 2019-09-07
?
慕仰8121524

1、问题发生描述:

从一个页面进行点击等操作,页面跳转到第二个页面,对第二个页面中的元素,采取任何措施定位都报错,问题报错点如下:

2、出现问题的原因:

窗口句柄还停留在上一个页面,对于当前新弹出的页面还没有定位,因此新页面的任何元素都定位不到

3、解决方案:

在新页面操作元素之前,需添加句柄操作,方式如下:

1、使用driver.current_window_handle #获取当前窗口句柄,添加此方法,仍报相同的错误,因此不能采用这种方式进行解决问题

2、使用driver.switch_to_window(driver.window_handles[1]),或者 driver.switch_to_window(self.driver.window_handles[-1]) ,两种方式中任选一种即可找到对应的元素



查看完整回答
反对 回复 2019-09-07
?
12345678_0001

import time

def Baidu():

    try:

        browser=webdriver.Chrome()

        browser.get(url)

        wait=WebDriverWait(browser,10)

        #定位百度登陆按钮

        browser.find_element_by_xpath('//*[@id="u1"]/a[7]').click()

        time.sleep(5)

        #qq登陆

        browser.find_element_by_xpath('//*[@id="pass_phoenix_btn"]/ul/li[1]/a').click()

        #切换至qq登陆窗口

        time.sleep(5)

        browser.switch_to.window(browser.window_handles[1])

        #切换至账户密码框

        browser.switch_to.frame('ptlogin_iframe')

        #账户登陆按钮

        browser.find_element_by_xpath('//*[@id="switcher_plogin"]').click()

         

        user=browser.find_element_by_id('u')

        user.send_keys(账户)

 

        password=browser.find_element_by_id('p')

        password.send_keys(密码)

        browser.find_element_by_id('login_button').click()

        browser.switch_to.window(browser.window_handles[0])

         

    finally:

        browser.close()

Baidu()

 


查看完整回答
反对 回复 2019-09-07
  • 3 回答
  • 0 关注
  • 288 浏览
我要回答

相关问题推荐

慕课专栏
更多

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信