1. chromedriver启动,get不到url,直接停留在data页
chromedriver = "C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe"
os.environ["webdriver.chrome.driver"] = chromedriver
driver = webdriver.Chrome(chromedriver)2. 抽离页面元素,读取配置文件
读取配置文件的方法:
import ConfigParser
element = ConfigParser.ConfigParser()
element.read('element.conf')
l_url = element.get('login_page', 'email_input')
开始配置文件格式为:
login_page:
login_button: '#loginform input[name=submit]'
email_input: '#loginform input[name=input]'
password_input: '#loginform input[name=password]'但是一直读取不到,还报错,郁闷了良久,无意中发现,配置文件格式不对,把value的单引号去掉就可以了
login_page:
login_button: #loginform input[name=submit]
email_input: #loginform input[name=input]
password_input: #loginform input[name=password]3. 获取页面文字
通过xpath定位到的文字直接进行assert比较是失败的,因为定位到的编码格式是Unicode,需要进行转换成string后进行比较
assert find_element_by(element.get('personal_page', '个人信息')).text.encode("utf-8") == element.get('personal_page','pm')4. 设置最长超时时间
driver.set_page_load_timeout(10)其他几种等待(强制等待(sleep),显式等待,隐式等待)详细介绍:http://blog.youkuaiyun.com/ping523/article/details/53419622经验:最好设置一个最长等待时间,然后在经常出问题的元素上面设置一个隐式等待,页面元素较多,加载时间长的页面可以显式等待
在使用Python的Selenium库操作Chrome浏览器时遇到了一些问题。首先,由于配置文件value的单引号导致chromedriver无法正常启动,get请求始终停留在data页面。修正配置文件格式后,问题得以解决。其次,在尝试获取页面文字并进行断言时,发现XPath定位到的文本为Unicode编码,需要转为字符串才能正确比较。最后,为了应对页面加载时间长的情况,建议设定最长超时时间和元素的隐式等待时间。
3万+

被折叠的 条评论
为什么被折叠?



