工具箱
----------
提示:拖动上方按钮到流程图箭头处以添加操作,也可以点击按钮再点击箭头。

使用循环内的链接

点击获取当前页面Cookie

元素在iframe内

使用相对循环内的XPath定位到的元素

提取数据前清空其他操作字段已记录的值

此提取数据操作后生成新数据行

字段名 示例值 操作
{{params.parameters[i-1]["exampleValues"][0]["value"]}} 修改 删除 上移 下移

当前编辑字段参数名(点击字段的“修改”选项切换参数):

使用相对循环内的XPATH

元素在iframe内

XPath(所有XPath内均可用Field["字段名"]表示参数值,用eval("你的代码")来替换成自定义的变量):

元素在iframe内

使用循环内的文本(不勾选则每次输入的文本为下方“输入值”文本框内的文本,勾选后会使用所在“文本列表”循环内设置的文本)

操作在iframe内

请先阅读此说明,再在上方输入框(不是本框)写具体代码,如果要执行大量代码,可以直接写outside:myCode.py,这样程序就会读取并执行EasySpider目录下的myCode.py中的代码。
注意包含exec和eval操作的语句和XPath不能在当前页面试运行,只能在任务真正调用时运行。
此选项为高级功能,可以直接用Python代码操纵正在运行中的浏览器,及可以自定义整个执行环境中的变量,并对变量进行修改赋值等操作,示例:
1. 用self.browser表示当前操作的浏览器,可直接用selenium的API进行操作,如self.browser.find_element(By.CSS_SELECTOR, "body").send_keys(Keys.END)即可滚动到页面最下方。
2. 自定义一个全局变量:self.myVar = 1
3. 操纵上面定义的全局变量:self.myVar = self.myVar + 1
4. 打印上面定义的全局变量:print(self.myVar)
5. 将自定义变量的值赋值为某个字段提取的值:self.myVar = self.outputParameters["字段名"]

如果想要将自己定义的变量作为字段记录,请选择下一个“在执行环境下获得Python表达式值(eval操作)”选项。

6. 如果想要引入并使用程序本身没有带的第三方库,需要先使用如pip等工具本地安装好此库,然后在import之前添加自己安装的库的路径,如:
(1)在系统命令行执行安装emotlib库命令:
pip install emotlib
(2)在代码框中写入如下代码:
sys.path.append("D:/Python38/Lib/site-packages") # 假设此路径下有emotlib库
import emotlib # 此时就可以使用emotlib库了
print(emotlib.emoji()) # 使用其中的函数。
请先阅读此说明,再在上方输入框(不是本框)写具体代码,如果要执行大量代码,可以直接写outside:myCode.py,这样程序就会读取并执行EasySpider目录下的myCode.py中的代码。
此选项为高级功能,可以直接返回Python代码的表达式值,并在其他位置用Field["本操作名称"]表示此操作返回值,示例:
1. 返回当前浏览器对象的相关值,用self.browser表示当前操作的浏览器,可直接用selenium的API进行操作,如self.browser.find_element(By.CSS_SELECTOR, "body").text即可返回当前页面的文字。
2. 返回自定义全局变量的值:self.myVar
3. 返回条件判断的值:self.myVar == 1
4. 判断某个字段提取的值是否等于某个变量的值:self.outputParameters["字段名"] == self.myVar

注意此功能不能对变量进行赋值操作,即不可以写self.myVar = 1这种,如果想要进行赋值操作,请选择上一个“在执行环境下运行Python代码(exec操作)”选项。

是否将执行后的输出/返回值作为字段记录:

元素在iframe内

使用循环内的索引值(不勾选则输入为下方“设定值”文本框内的内容,勾选后会使用所在“文本列表”循环内设置的下拉框索引值)

切换模式

设定值(不适用于切换到下一个选项模式)

元素在iframe内

使用相对循环内的XPath定位的元素

在iframe内操作

请先阅读此说明,再在上方输入框(不是本框)写具体代码,如果要执行大量代码,可以直接写outside:myCode.py,这样程序就会读取并执行EasySpider目录下的myCode.py中的代码。
根据Python代码的表达式值来决定是否循环,示例:
1. 返回当前浏览器对象的相关值,用self.browser表示当前操作的浏览器,可直接用selenium的API进行操作,如self.browser.find_element(By.CSS_SELECTOR, "body").text=="123",表示判断当前页面是否为123这个文本。
2. 返回自定义全局变量的值:self.myVar,如果
3. 返回条件判断的值:self.myVar == 1
4. 判断某个字段提取的值是否等于某个变量的值:self.outputParameters["字段名"] == self.myVar
以上表达式返回值大于0或为真则继续循环,否则停止循环。
                        

在iframe内操作

请先阅读此说明,再在上方输入框(不是本框)写具体代码,如果要执行大量代码,可以直接写outside:myCode.py,这样程序就会读取并执行EasySpider目录下的myCode.py中的代码。
根据Python代码的表达式值来判断条件是否满足,示例:
1. 返回当前浏览器对象的相关值,用self.browser表示当前操作的浏览器,可直接用selenium的API进行操作,如self.browser.find_element(By.CSS_SELECTOR, "body").text=="123",表示判断当前页面是否为123这个文本。
2. 返回自定义全局变量的值:self.myVar,如果
3. 返回条件判断的值:self.myVar == 1
4. 判断某个字段提取的值是否等于某个变量的值:self.outputParameters["字段名"] == self.myVar
以上表达式返回值大于0或为则执行此分支内操作,否则不执行。