selenium 的iframe + 点击 + 禁止状态 +页面值

1:查看网页所有的iframe

# 打开网页
driver.get("https://example.com")

# 切换到默认的frame(如果有)
driver.switch_to.default_content()

# 获取所有的iframe元素
iframes = driver.find_elements_by_tag_name('iframe')

# 遍历每个iframe并输出其属性值
for iframe in iframes:
    print(iframe.get_attribute('name'))

2: 切换到某个iframe

# 打开网页
(一)
frame = self.driver.find_elements(By.CSS_SELECTOR, "iframe")[1]
(二)
frame = iframes[1]
self.driver.switch_to.frame(frame)

3:退出,切换到主页面

self.driver.switch_to.default_content()

4:切换新的标签页

 self.driver.execute_script("window.open('https://baidu?menu_id=user')")
 handles = self.driver.window_handles
 self.driver.switch_to.window(handles[-1])  # 切换新的标签页

5:点击按钮

(一)
click()
(二)
search_btn = utils.get_element(self, 'id', "decQuery")
self.driver.execute_script("$(arguments[0]).click()", search_btn)  # 查询按钮

6:判断按钮的disabled禁止按钮

 if 'disabled' not in page_num.get_attribute('class'):  # > 判断下一页是否可以点击,禁止点击,则退出
        can_next = True

7:通过js脚本获取页面的值

def execute_script_by_id(name):
    return self.driver.execute_script("return document.getElementById('" + name + "').value")

8:readonly 属性【只读】

类似这样的时间戳控件:

可以看到控件有:readonly 属性【只读】

一、移除或者关闭web端时间控件的readonly属性的方法
方法一:原生js,移除readonly属性

js = "document.getElementById('train_date').removeAttribute('readonly')"

方法二:jQuery,移除readonly属性
js = "$('input[id=train_date]').removeAttr('readonly')"

方法三:jQuery,设置属性为false
js = "$('input[id=train_date]').attr('readonly',false)"

方法四:jQuery,设置属性为空
js = "$('input[id=train_date]').attr('readonly',’ ‘)"

二、清除时间控件原有显示文本, send_keys输入自己想要输入的时间

# 随便选一种方法移除或者关闭web端时间控件的readonly属性
js_beginDate = "$('input[id=beginDate]').removeAttr('readonly')"
driver.execute_script(js_beginDate)
# 清除时间控件原有显示文本
driver.find_element_by_id('beginDate').clear()
# send_keys输入自己想要输入的时间
driver.find_element_by_id('beginDate').send_keys('2020-07-07 00:00:00')

# 同理
js_endDate = "$('input[id=endDate]').removeAttr('readonly')"
driver.execute_script(js_endDate)
driver.find_element_by_id('endDate').clear()
driver.find_element_by_id('endDate').send_keys('2020-07-07 23:59:59')

原文链接:https://blog.csdn.net/JQ/article/details/107194859

9:Select下拉框

参考文章

https://www.cnblogs.com/yhms/p/11788936.html
一、selenium 提供了 Select 模块,select提供了3种方法定位下拉框元素:
from selenium.webdriver.support.select import Select
select_by_index(index)
select_by_value(value)
select_by_visible_text(text)

二、查看当前下拉框选择的值

Select(s).first_selected_option.text:取出下拉框当前选择的内容

10:打开一个pdf的网址,下载pdf文件

打印预览
参考文章:https://www.cnblogs.com/rainbow-tan/p/17384883.html

1:重点:配置
2:点开网址
#点击按钮-直接打印
utils.get_element(self, ‘xpath’, ‘//div/a[text()=“打印预览”]’).click()
sleep(2)

11:pyqt5中selenium打不开浏览器

pyqt5中selenium找不到chromedriver的路径
1:cmd -》 where python
2:将下载的chromedriver放进去

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值