Tag: selenium

UnicodeEncodeError:'charmap'编解码器不能编码字符'\ u2010':字符映射到<undefined>

当我试图打印从python 3.4中使用selenium所请求的网站上获得的“Á”时,我总是收到UnicodeEncodeError。 我已经定义在我的.py文件的顶部 # -*- coding: utf-8 -*- def是这样的: from selenium import webdriver b = webdriver.Firefox() b.get('http://fisica.uniandes.edu.co/personal/profesores-de-planta') dataProf = b.find_elements_by_css_selector('td[width="508"]') for dato in dataProf: print(datos.text) 和例外: Traceback (most recent call last): File "C:/Users/Andres/Desktop/scrap/scrap.py", line 444, in <module> dar_p_fisica() File "C:/Users/Andres/Desktop/scrap/scrap.py", line 390, in dar_p_fisica print(datos.text) #.encode().decode('ascii', 'ignore') File "C:\Python34\lib\encodings\cp1252.py", line 19, in encode return codecs.charmap_encode(input,self.errors,encoding_table)[0] […]

在量angular器中,browser.isElementPresent vs element.isPresent vs element.isElementPresent

在量angular器中,基本上有三种方法来检查元素是否存在: var elm = element(by.id("myid")); browser.isElementPresent(elm); elm.isPresent(); elm.isElementPresent(); 这些select是否相同和可以互换,哪一个应该普遍受欢迎?

XPath中.//和// *有什么区别?

当通过Firebugfind相对的XPath时:它会创build类似的 .//*[@id='Passwd'] ———如果我们在开始的时候不使用点,它表示什么? 只需在Xpath中添加//* – 它突出显示了各种页面元素———-它是什么意思? 以下是Gmail密码字段的XPath。 *意义是什么? .//*[@id='Passwd'] //child::input[@type='password']

XPath:点与文本的区别()

我的问题是关于在XPath中使用点和text()细节。 例如,下面的find_element行返回相同的元素: driver.get('http://stackoverflow.com/') driver.find_element_by_xpath('//a[text()="Ask Question"]') driver.find_element_by_xpath('//a[.="Ask Question"]') 那有什么区别? 什么是使用的好处和缺点. 和text() ?

使用Selenium Python API绑定获取来自Chrome的console.log输出

我正在使用Selenium通过Python API绑定在Chrome中运行testing,而且我很难弄清楚如何configurationChrome以使得载入testing的console.log输出可用。 我看到WebDriver对象上有get_log()和log_types()方法,并且我看到了Get chrome的控制台日志 ,它显示了如何在Java中执行操作。 但是我没有在Python API中看到相当于Java的LoggingPreferencestypes。 有什么方法可以完成我所需要的吗?

Selenium:我可以在Selenium中设置WebElement的任何属性值吗?

我有一个WebElement,我想重置它的一个属性的值为一些其他的值(例如attr是属性,我想改变它的原始value=1到新value=10 )。 可能吗? 我使用Selenium 2.0(WebDriver)。

如何在Python中使用Selenium?

我如何设置Selenium来使用Python? 我只想用Python编写/导出脚本,然后运行它们。 有没有什么资源可以教会我如何做到这一点? 我尝试了Googlesearch,但是我发现的东西要么是指Selenium(RC)的过时版本,要么是指Python的过时版本。

selenium – 其他方式基本authentication比通过url

在我的Selenium-Test (使用chromedriver-2.24 )时,我试图通过基本身份validation访问我的网页,并使用以下语句: WebDriver driver = …; driver.get("http://admin:admin@localhost:8080/project/"); 但Google Chrome在控制台中给了我以下警告: [不推荐使用]子网资源URL包含embedded式凭证的请求(例如https://user:pass@host/ )被阻止。 有关更多详细信息,请参见https://www.chromestatus.com/feature/5669008342777856 。 在被标记的链接被提及支持被丢弃了: 删除子资源请求中对embedded凭据的支持。 (已删除) 我现在的问题是,还有其他的方式来从selenium基本authentication? 注意 :这并没有帮助: 如何在Selenium Webdriver中使用Java处理HTTP Basic Auth头文件?

使用Selenium处理浏览器身份validation

有谁知道在自动化过程中使用Selenium或其他任何工具处理浏览器身份validation?

用python检查是否存在使用selenium的警报

我正在尝试用python语言编写一个用于pipe理用户的网页的seleniumtesting。 在此页面中,有人可以为用户添加angular色,如果angular色添加时存在angular色,则会引发警报。 我不知道警报是否是一个JavaScript警报或网页的元素。 我想自动检查警报是否存在,因为检查列表中的angular色会浪费时间并且有巨大的负载。 我试过这个: browser = webdriver.Firefox() browser.get("url") browser.find_the_element_by_id("add_button").click() try: alert = browser.switch_to_alert() alert.accept() print "alert accepted" except: print "no alert" 但它没有工作,我得到了“UnexpectedAlertPresentException”。 我也试过这个: browser = webdriver.Firefox() browser.get("url") browser.find_the_element_by_id("add_button").click() s = set(browser.window_handles) s.remove(browser.current_window_handle) browser.switch_to_window(s.pop()) 但是我得到了同样的例外。 此外,我试图访问与萤火虫警报,以检查我是否可以访问其属性,但右键点击被禁用。 即使在其他语言中,我也需要一个解决scheme。 无论如何,我可以理解这个方法。 我将不胜感激任何帮助。