草庐IT

pytest-selenium

全部标签

python - 如何用 Selenium 获取特定元素的html源?

我正在查看的页面包含:text1text2text3text4我想获取div中的所有文本,中的文本除外.(我想得到“文本1”、“文本3”和“文本4”)可能有几个元素,或者根本没有。并且可能有一些元素,甚至一个在另一个里面,或者没有。我想通过获取div的所有html源并使用正则表达式删除来做到这一点元素。但是selenium.get_text不返回html,只返回文本(全部!)。我知道我可以使用selenium.get_html_source然后使用正则表达式查找我需要的元素,但这看起来很浪费,因为selenium知道如何找到该元素。有没有人有更好的解决方案?谢谢:)

selenium遇到自定义标签没法爬的时候的解决方法

在selenium的爬取过程中,一些网站会因为缓存问题导致一直访问同一个网页。所以想要当爬取多少条后就清楚下浏览器所有数据。看了些网上的方法:其中通过chrome浏览器访问这个网址chrome://settings/privacy进行操作清除数据,是我认为好操作的。但审核元素时发现如下结构。方法:让selenium执行js点击的方法来实现代码如下driver.execute_script('document.querySelector("body>settings-ui").shadowRoot.querySelector("#main").shadowRoot.querySelector("

python - 在 crontab 中执行 Python (selenium) 脚本

我已经阅读了stackoverflow中的大部分python/cron,但无法让我的脚本运行。我知道我需要通过shell运行我的脚本(顺便使用zsh和ipython),但我真的不知道该怎么做:/我的简单代码:在crontab中-*/1****ipython/home/usr/Data/progs/cron_test.py我的python脚本-importpicklefromseleniumimportwebdriverdriver=webdriver.Firefox()driver.get('http://www.google.com')t=driver.current_urlpick

Python:未检测到已安装的 Selenium 包

我正在使用Anacondapython发行版并想使用selenium包裹。不幸的是,发行版中没有包含selenium,所以我使用推荐的方式安装了它:pipinstall-Uselenium分布FAQ说这应该可以正常工作,但是当我尝试使用它时,python告诉我它对这个包一无所知。即>>>importseleniumTraceback(mostrecentcalllast):File"",line1,inImportError:Nomodulenamedselenium我检查过,/usr/local/lib/python2.7/dist-packages目录中确实有selenium。我如

python - Selenium:等到 WebElement 中的文本发生变化

我在Python2.7中使用selenium。从网页上的搜索框中检索内容。搜索框动态检索结果并在框中显示结果。fromseleniumimportwebdriverfromselenium.webdriver.common.keysimportKeysimportpandasaspdimportrefromtimeimportsleepdriver=webdriver.Firefox()driver.get(url)df=pd.read_csv("read.csv")defcrawl(isin):searchkey=driver.find_element_by_name("search

解决selenium的“can‘t access dead object”错误

目录问题描述原因解决方法示例代码资料获取方法问题描述在python执行过程中,提示selenium.common.exceptions.WebDriverException:Message:TypeError:can'taccessdeadobject原因原因是代码中用到了frame,获取元素前需要切换到frame才能定位到元素,否则无法定位到元素解决方法importtimefromseleniumimportwebdriverdriver=webdriver.Firefox()driver.get('https://pay.xunlei.com/')driver.switch_to.fram

python - 在 selenium python webdriver 中使用 send_keys() 发送三键

我正在尝试将一个float输入到默认值为0.00的文本框中。但它试图附加而不是覆盖它。我尝试使用.clear()然后send_keys('123.00')但它仍然被附加.然后我尝试使用send_keys(Keys.CONTROL+'a','123.00')。它只更新0.00。非常感谢任何帮助。更多信息..网址:http://new.ossmoketest.appspot.com用户ID:senthil.arumugam@mycompanyname.com--mycompanyname=orangescape(抱歉避免垃圾邮件)现在不需要密码。单击purchaseorder...在表格中

python - 在没有ID的 Selenium 中找到提交按钮

我有一个按钮我无法通过ID或名称找到它,需要提交表格。我试过这样做:或者,WebDriver在每个元素上都有方便的方法“提交”。如果您在表单中的元素上调用此方法,WebDriver将遍历DOM直到它找到封闭的表单,然后对其调用提交。如果元素不在表单中,则将引发NoSuchElementException:元素.提交()http://selenium-python.readthedocs.org/navigating.html但是那也找不到提交选择器。想法? 最佳答案 这里有很多选项,仅举几例:如果单独的类是唯一的,你可以使用driv

Selenium 测试用例编写

编写Selenium测试用例就是模拟用户在浏览器上的一系列操作,通过脚本来完成自动化测试。编写测试用例的优势:开源,免费。支持多种浏览器IE,Firefox,Chrome,Safari。支持多平台Windows,Linux,Mac。支持多语言Python,Java,C#。对Web支持良好。简单,灵活。支持分布式测试用例执行。引入依赖引入依赖是为了调用webdriver中的方法来与浏览器进行交互以实现操作步骤。Python版本fromseleniumimportwebdriverJava版本importorg.openqa.selenium.By;importorg.openqa.seleniu

python - pytest:如何将类参数传递给 setup_class

我正在使用pytest的参数化注释将参数传递到类中。我能够在测试方法中使用参数,但是,我不知道如何在setup_class方法中使用参数。importpytestparams=['A','B','C']@pytest.mark.parametrize('n',params)classTestFoo:defsetup_class(cls):print("setupclass:TestFoo")#Dosomesetupbasedonparamdeftest_something(self,n):assertn!='D'deftest_something_else(self,n):assert