name:根据是否与给定的 name匹配, 筛选cookie(值为空则忽略 name筛选条件)
domain:根据是否完全与给定的 domain比如 '.winrobot360.com'匹配, 或是否是其的子域名, 筛选cookie(浏览器类型为IE或值为空则忽略 domain筛选条件)
path:根据是否与给定的path比如 '/', 筛选cookie(浏览器类型为IE或值为空则忽略 path筛选条件)
list[dict]:返回筛选到的cookie列表, 列表项键包括'domain'、'expirationDate'、'name'、'value'、'httpOnly'..., 集合中的值可以通过比如 item['value'] 的方式获取
获取当前激活网页的cookie信息
from xbot import web
def main(args):
get_borwser_cookie('cef')
def get_borwser_cookie(mode):
browser = xbot.web.get_active(mode)
cookie_list = browser.get_cookies(domain='www.baidu.com')
print(cookie_list)
i = 0
for cookie in cookie_list:
print(i)
print(cookie['name'] + ' '+cookie['value'])
i += 1
activate
激活目标网页
activate(self)
激活标题为 百度 的网页
from xbot import web
def main(args):
browser = web.get('百度', None, 'chrome')
browser.activate()
navigate
跳转到新网页
navigate(self, url, * , load_timeout=20)
url:新网页地址
load_timeout:等待加载超时时间, 默认超时时间20s, 如果网页超时未加载完成则抛出UIAError异常
获取标题为 百度 的网页并将该网页跳转到 淘宝 网页
from xbot import web
def main(args):
browser = web.get('百度', None, 'chrome')
browser.navigate('www.taobao.com')
go_back
go_back(self, * , load_timeout=20)
load_timeout:等待加载超时时间, 默认超时时间20s, 如果网页超时未加载完成则抛出UIAError异常
获取标题为 淘宝 的网页并后退
from xbot import web
def main(args):
browser = web.get('淘宝', None, 'chrome')
browser.go_back()
go_forward
go_forward(self, * , load_timeout=20)
load_timeout:等待加载超时时间, 默认超时时间20s, 如果网页超时未加载完成则抛出UIAError异常
获取标题为 百度 的网页并前进
from xbot import web
def main(args):
browser = web.get('百度', None, 'chrome')
browser.go_forward()
reload
网页重新加载
reload(self, * , ignore_cache=False, , load_timeout=20)*
ignore_cache:是否忽略缓存,默认不忽略
load_timeout:等待加载超时时间, 默认超时时间20s, 如果网页超时未加载完成则抛出UIAError异常
获取标题为 百度 的网页不忽略缓存重新加载
from xbot import web
def main(args):
browser = web.get('百度', None, 'chrome')
browser.reload(True)
stop_load
网页停止加载
stop_load(self)
获取标题为 百度 的网页并停止加载
from xbot import web
def main(args):
browser = web.get('百度', None, 'chrome')
browser.stop_load()
is_load_completed
判断网页是否加载完成
is_load_completed(self)
bool:返回网页是否加载完成,完成返回True,否则返回False
获取标题为 百度 的网页并判断其是否加载完成
from xbot import web
def main(args):
browser = web.get('百度', None, 'chrome')
is_load_completed = browser.is_load_completed()
wait_load_completed
等待网页加载完成
wait_load_completed(self, timeout=20)
获取当前激活的窗口并等待其加载完成
from xbot import web
def main(args):
browser = web.get_active()
browser.wait_load_completed()
close
close(self)
获取当前激活的窗口并关闭
from xbot import web
def main(args):
browser = web.get_active()
browser.close()
execute_javascript
在网页元素上执行JS脚本
execute_javascript(self, code, argument=None)
code:要执行的JS脚本,必须为javascript函数形式
argument:要传入到JS函数中的参数,必须为字符串,如果需要传入其他类型可以先将其转为JSON字符串形式
Any:返回JS脚本执行结果
获取当前激活的网页,在此页面上执行一段JS函数并获取其返回值
from xbot import web, print
def main(args):
page = web.get_active()
code = """
function (context, args) {
// context为null
// args表示输入的参数
return "hello " + args;
js_result = page.execute_javascript(code, 'james')
print(js_result)
鼠标滚动网页
scroll_to(self, * , location='bottom', behavior='instant', top=0, left=0)
location:网页要滚动到的位置, 默认滚动到底部
- 'bottom':滚动到底部
- 'top':滚动到顶部
- 'point':滚动到指定位置
- behavior:网页滚动效果, 默认瞬间滚动
- 'instant':瞬间滚动
- 'smooth':平滑滚动
- top:滚动到指定位置的纵坐标
- left:滚动到指定位置的横坐标
获取当前激活的网页并使用鼠标平滑滚动网页至底部
from xbot import web
def main(args):
browser = web.get_active()
browser.scroll_to(location='bottom', behavior='smooth')
获取当前激活的网页并使用鼠标平滑滚动网页至 top:100,left:100 的位置
from xbot import web
def main(args):
browser = web.get_active()
browser.scroll_to(location='point', behavior='smooth', top=100, left=100)
handle_javascript_dialog
处理网页对话框
handle_javascript_dialog(self, dialog_result='ok', * , text=None, wait_appear_timeout=20)
- dialog_result:网页对话框处理方式
from xbot import web
def main(args):
browser = web.get_active()
browser.handle_javascript_dialog('ok', text='helloword')
get_javascript_dialog_text
获取网页对话框内容(Chrome不支持此操作)
get_javascript_dialog_text(self, * , wait_appear_timeout=20)
- wait_appear_timeout:等待网页对话框出现,默认超时时间20s,如果网页超时未加载完成则抛出UIAError异 常
- str:返回网页对话框的内容
获取当前激活网页中的对话框内容
from xbot import web
def main(args):
browser = web.get_active()
content = browser.get_javascript_dialog_text()
start_monitor_network
开始监听网页请求(Chrome,ie不支持此操作)
start_monitor_network(self)
开始监听当前激活网页请求,进而获取请求结果,最后停止监听网页请求
from xbot import web
def main(args):
browser = web.get_active()
browser.start_monitor_network()
browser.reload()
network_result_list = browser.get_responses(url='baidu',use_wildcard=False, resource_type='All')
browser.stop_monitor_network()
stop_monitor_network
停止监听网页请求(Chrome,ie不支持此操作)
stop_monitor_network(self)
开始监听当前激活网页请求,进而获取请求结果,最后停止监听网页请求
from xbot import web
def main(args):
browser = web.get_active()
browser.start_monitor_network()
browser.reload()
network_result_list = browser.get_responses(url='baidu',use_wildcard=False, resource_type='All')
browser.stop_monitor_network()
get_responses
获取网页请求结果(Chrome,ie不支持此操作)
get_responses(self, url, * , use_wildcard=False,resource_type='All')
- url:资源路径Url
- use_wildcard:是否使用通配符方式匹配, 默认为
False
模糊匹配, 如果为True
则使用通配符方式匹配
- resource_type:要过滤的网页请求结果类型, 默认为
All
,包括All, XHR, Script, Stylesheet, Image, Media, Font, Document, WebSocket, Manifest, TextTrack, Fetch, EventSource, Other
- list[dict]:返回获取到的网页请求结果列表, 列表项键包括'url'、'type'、'body'、'base64Encoded',集合中的值可以通过比如 item['body'] 的方式获取"
获取当前激活网页中的对话框内容
from xbot import web
def main(args):
browser = web.get_active()
browser.start_monitor_network()
browser.reload()
network_result_list = browser.get_responses(url='baidu',use_wildcard=False, resource_type='All')
browser.stop_monitor_network()
wait_appear
等待网页元素出现
wait_appear(self, selector_or_element, timeout=20)
- selector_or_element:要等待的目标元素, 支持以下格式:
from xbot import web
def main(args):
browser = web.get_active()
is_appear = browser.wait_appear('百度一下')
wait_disappear
等待网页元素消失
wait_disappear(self, selector_or_element, timeout=20)
- selector_or_element:要等待的目标元素, 支持以下格式:
from xbot import web
def main(args):
browser = web.get_active()
is_disappear = browser.wait_disappear('百度一下')
find_all
在当前网页中获取与选择器匹配的相似网页元素列表
find_all(self, selector, * , timeout=20)
- selector:要等待的目标元素, 支持以下格式:
from xbot import web
def main(args):
browser = web.get_active()
list_web_element = browser.find_all('百度一下')
find_all_by_css
在当前网页中获取符合CSS选择器的网页元素列表
find_all_by_css(self, css_selector, * , timeout=20)
- css_selector:CSS选择器 (str)
- timeout, 获取网页相似元素列表超时时间, 默认超时时间20s, 匹配元素超时未找到则抛出UAIError异常
- List[WebElement]:返回相似网页元素列表
在当前激活的网页中获取与CSS选择器 百度一下 匹配的全部网页元素列表
from xbot import web
def main(args):
browser = web.get_active()
list_web_element = browser.find_all_by_css('百度一下')
find_all_by_xpath
在当前网页中获取符合Xpath选择器的网页元素列表
find_all_by_xpath(self, xpath_selector, * , timeout=20)
- xpath_selector:Xpath选择器 (str)
- timeout:获取网页相似元素列表超时时间,默认超时时间20s,匹配元素超时未找到则抛出UAIError异常
- List[WebElement]:返回相似网页元素列表
在当前激活的网页中获取与Xpath选择器 百度一下 匹配的全部网页元素集合
from xbot import web
def main(args):
browser = web.get_active()
list_web_element = browser.find_all_by_xpath('百度一下')
在当前网页中获取与选择器匹配的网页元素对象
find(self, selector, * , timeout=20)
- selector:要等待的目标元素, 支持以下格式:
from xbot import web
def main(args):
browser = web.get_active()
web_element = browser.find('百度一下')
find_by_css
在当前网页中获取符合CSS选择器的网页元素对象
find_by_css(self, css_selector, * , timeout=20)
- css_selector:CSS选择器 (str)
- timeout:以CSS选择器获取网页元素对象超时时间,默认超时时间20s,匹配元素超时未找到则抛出UAIError 异常
- WebElement:返回网页元素对象
在当前激活的网页中获取符合CSS选择器 百度一下 的网页元素并返回第一个
from xbot import web
def main(args):
browser = web.get_active()
web_element = browser.find_by_css('#su')
find_by_xpath
在当前网页中获取符合Xpath选择器的网页元素对象
find_by_xpath(self, xpath_selector, * , timeout=20)
- xpath_selector:Xpath选择器 (str)
- timeout:以Xpath选择器获取网页元素对象超时时间,默认超时时间20s,匹配元素超时未找到则抛出 UAIError异常
- WebElement:返回网页元素对象
在当前激活的网页中获取与Xpaht选择器 百度一下 匹配的网页元素并返回第一个
from xbot import web
def main(args):
browser = web.ge_active()
web_element = browser.find_by_xpath('//*[@id="su"]')
is_element_displayed
网页元素是否可见
is_element_displayed(self, selector)
- selector:selector:要等待的目标元素, 支持以下格式:
from xbot import web
def main(args):
browser = web.get_active()
is_displayed = browser.is_element_displayed('百度一下')
获取选择器对应表格数据
extract_table(self, table_selector, * , timeout=20)
- table_selector:表格选择器, 支持以下格式:
from xbot import web
def main(args):
browser = web.get_active()
table_list = browser.extract_table('数据表格')