selenium转到新页面操作以及使用execute_script执行js代码获取页面元素

selenium操作页面:在一个A网页中有按钮,点击后,会新建一个B页面,接下来所有的webdriver操作要全部在B页面中。

A页面中,点击“去签到”后,跳转到B页面。

A:

B: 

 代码如下:

#点击“去签到”
Go_sign = WebDriverWait(xd_driver, 5).until(
     EC.element_to_be_clickable((By.XPATH, '//a[contains(text(), "去签到")]'))
)
Go_sign.click()
time.sleep(5)

windows=xd_driver.window_handles
#转到新页面中操作,此时[1]就是指第二个页面
xd_driver.switch_to.window(windows[1])
time.sleep(1)

记录下:第一个打开网页一直是句柄0,而最新(也就是最后)打开的网页5记为句柄1。 任何句柄网页关闭后,其他网页句柄号不变,可以直接输入原有句柄进行网页操作。

 

之后所有的操作,都是针对B页面的了。针对新开页面的操作,参考这篇好文:Selenium如何操作及关闭新打开的标签页网页-百度经验

接下来讲使用execute_script执行js代码获取页面元素,在B页面中,需要点击的元素见红框。

B页面中,需要点击的“领XX”的链接如上图所示,利用js可以获取元素。现在selenium用 execute_script来执行这段获取元素的js代码。

js='return document.getElementById("sign");'
Get_bean=xd_driver.execute_script(js)
Get_bean.click()

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值