selenium篇之其他

屏幕截图

from selenium import webdriver

driver = webdriver.Firefox()
driver.get('http://www.python.org/')
driver.save_screenshot('screenshot.png')
driver.quit()

如何向下滚动到页面底部

您可以使用execute_script方法在加载的页面上执行javascript。因此,您可以调用JavaScript API滚动到页面的底部或任何其他位置。

下面是滚动到页面底部的示例:

driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")

cookies操作

在我们离开这些下一步之前,您可能有兴趣了解如何使用cookie。首先,您需要位于Cookie对其有效的域上:

#Go to the correct domain
driver.get("http://www.example.com")

#Now set the cookie. This one's valid for the entire domain
cookie = {‘name’ : ‘foo’, ‘value’ : ‘bar’}
driver.add_cookie(cookie)

#And now output all the available cookies for the current URL
driver.get_cookies()

delete_all_cookies()
删除会话范围内的所有cookie。

用法:	driver.delete_all_cookies()
delete_cookie(名称)
删除具有给定名称的单个cookie。

填写表格

我们已经看到了如何在文本区域或文本字段中输入文本,但是其他元素呢?您可以“切换”下拉菜单的状态,也可以使用“ setSelected”来设置类似 所选OPTION标签的内容。处理SELECT标记还不错:

element = driver.find_element_by_xpath("//select[@name='name']")
all_options = element.find_elements_by_tag_name("option")
for option in all_options:
    print("Value is: %s" % option.get_attribute("value"))
    option.click()

这将在页面上找到第一个“ SELECT”元素,并依次循环浏览每个OPTION,打印出它们的值,然后依次选择每个OPTION。

如您所见,这不是处理SELECT元素的最有效方法。WebDriver的支持类包括一个称为“选择”的类,它提供了与这些类交互的有用方法:

from selenium.webdriver.support.ui import Select
select = Select(driver.find_element_by_name('name'))
select.select_by_index(index)
select.select_by_visible_text("text")
select.select_by_value(value)

WebDriver还提供用于取消选择所有选定选项的功能:

select = Select(driver.find_element_by_id('id'))
select.deselect_all()

这将从页面上的该特定SELECT中取消选择所有OPTION。

假设在测试中,我们需要所有默认选定选项的列表,Select类提供了一个返回列表的属性方法:

select = Select(driver.find_element_by_xpath("//select[@name='name']"))
all_selected_options = select.all_selected_options

要获取所有可用选项:

options = select.options

填写完表格后,您可能要提交。一种方法是找到“提交”按钮并单击它:

Assume the button has the ID "submit" :)
driver.find_element_by_id("submit").click()

另外,WebDriver在每个元素上都具有便捷的方法“提交”。如果在表单中的元素上调用此方法,则WebDriver将在DOM上移动,直到找到封闭的表单,然后在该表单上调用Submit。如果元素不是表单,则将 NoSuchElementException引发:

element.submit()

切换页面

driver.execute_script("window.open('"+url+"')")
driver.switch_to_window(driver.window_handles[1])
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值