草庐IT

pytest-selenium

全部标签

爬虫神器Selenium傻瓜教程,看了直呼牛掰

0.准备工作在开始后续功能演示之前,我们需要先安装Chrome浏览器并配置好ChromeDriver,当然也需要安装selenium库!0.1.安装selenium库pipinstallselenium0.2.安装浏览器驱动其实,有两种方式安装浏览器驱动:一种是常见的手动安装,另一种则是利用第三方库自动安装。以下前提:大家都已经安装好了Chrome浏览器哈手动安装先查看本地Chrome浏览器版本:(两种方式均可)在浏览器的地址栏键入Chrome://version,即可查看浏览器版本号或者点击Chrome菜单 帮助→关于GoogleChrome,查看浏览器版本号再选择对应版本号的驱动版本下载地

Mac上python+selenium实现微博登录和自动评论

最近开始追星,希望能给他尽一份力。本文是基于Win的微博自动评论的基础上,在Mac电脑上进行的微博自动化评论尝试,包含登陆微博和评论两大功能,该尝试是基于mac电脑,win电脑可参考Win的微博自动评论。目录环境要求1分析2引入selenium模块及驱动2.1selenium模块安装2.2安装Chromedriver2.3导入selenium和webdriver3模拟登录3.1半自动登陆3.2发起请求3.4发送评论3.4效果图4完整代码环境要求安装python,版本是python3安装了chrome浏览器1分析本想通过直接注入用户名和密码进行登录​​但是输入用户名和密码,点击登录后跳到了以下页

selenium 爬虫

selenium可以动态爬取网页数据,就像真实用户操作浏览器一样,从终端用户的角度测试应用程序,WebDriver通过原生浏览器支持或者浏览器扩展直接控制浏览器webdriver下载因为selenuim对浏览器的版本存在兼容问题,顾需要针对指定浏览器下载指定版本。1、添加依赖org.seleniumhq.seleniumselenium-java4.11.0com.google.guavaguava32.1.2-jre2、工具类importcn.hutool.core.collection.CollectionUtil;importcom.google.common.collect.Lists

python - 如何使用 pytest 将 fixture 中的对象共享到所有测试?

在具有session范围和autouse=True的fixture中定义对象的最佳方法是什么,以便它可用于所有测试?@pytest.fixture(scope='session',autouse=True)defsetup_func(request):obj=SomeObj()接下来,我想要一些魔法,让之前创建的obj将出现在每个测试上下文中,而不需要每个测试都定义setup_funcfixture。deftest_one():obj.do_something_fancy() 最佳答案 我的建议是将fixture添加到conftes

python - 如何使用 Python 在 Selenium webdriver 上获取 session ID?

我正在使用SauceLabs,我需要sessionId来获取作业ID,并在测试执行期间使用它来设置通过/失败状态。如何使用python获取sessionID? 最佳答案 找到了!SeleniumRemoteWebdriversessionId的值可以通过self.driver.session_id该值在SauceLabs上用于识别作业(作业ID) 关于python-如何使用Python在Seleniumwebdriver上获取sessionID?,我们在StackOverflow上找到一

python - Pytest跳过具有特定参数值的测试

我有一些想要参数化的测试,但有些测试应该只应用于参数的一个值。下面举一个具体的例子,我想将参数one和two应用到test_A,但只提供参数one到test_B。当前代码@pytest.fixture(params=['one','two'])defdata(request):ifrequest.param=='one'data=5returndatadeftest_A(data):assertTruedeftest_B(data):assertTrue期望的结果我基本上想要这样的东西,但我不知道如何在pytest中正确编码:@pytest.fixture(params=['one',

python - 类型错误 : urlopen() got multiple values for keyword argument 'body' while executing tests through Selenium and Python on Kubuntu 14. 04

我正在尝试在Kubuntu14.04上用python运行selenium。我在尝试使用chromedriver或geckodriver时收到此错误消息,两者都是相同的错误。Traceback(mostrecentcalllast):File"vse.py",line15,indriver=webdriver.Chrome(chrome_options=options,executable_path=r'/root/Desktop/chromedriver')File"/usr/local/lib/python3.4/dist-packages/selenium/webdriver/ch

python - 使用 Selenium Webdriver 向下滚动页面

我有一个动态页面,当用户向下滚动页面时加载产品。我想获取显示页面上呈现的产品总数。目前,我正在使用以下代码深入了解所有产品。elems=WebDriverWait(self.driver,30).until(EC.presence_of_all_elements_located((By.CLASS_NAME,"x")))printlen(elems)a=len(elems)self.driver.execute_script("window.scrollTo(0,document.body.scrollHeight);")time.sleep(4)elem1=WebDriverWait

python - 如何将 pytest 的结果/日志保存到文件中?

我在尝试将pytest显示的所有结果保存到文件(txt、日志,无关紧要)时遇到问题。在下面的测试示例中,我想将控制台中显示的内容捕获到某种文本/日志文件中:importpytestimportosdeftest_func1():assertTruedeftest_func2():assert0==1if__name__=='__main__':pytest.main(args=['-sv',os.path.abspath(__file__)])我想将控制台输出保存到文本文件中:test-mbp:hi_worldua$pythontest_out.py==================

python - pytest.mark.parametrize 中的 indirect = True/False 是什么意思?

我只是想了解它是什么意思,或者如果我在pytest.mark.parametrize中将间接参数设置为True或False会发生什么?谢谢 最佳答案 使用indirect=True你可以参数化你的fixture,False-默认值。示例:importpytest@pytest.fixturedeffixture_name(request):returnrequest.param@pytest.mark.parametrize('fixture_name',['foo','bar'],indirect=True)deftest_ind