如何读取xpath

更新:因firefox的xpath插件在最新浏览器中不再提供,当前通过在chrome 打开F12,在左侧的代码信息中先搜索到大概位置,然后找到具体代码位置,右键,获取xpath,来获取xpath:

一、以百度首页,右侧几个菜单,前面6个,以"新闻"为例,查看html编码情况,这几个菜单对应的均是链接,则可以使用:获取链接方式进行模拟点击

driver.find_element_by_link_text("新闻").click()

经过测试发现“登录”也可以使用上述方式模拟点击,而且所有的获取元素的操作均可以使用xpath这种基本方式点击:

driver.find_element_by_xpath(".//*[@id='u1']/a[7]").click()

二、模拟浏览器点击某个链接、打开页签情况汇总:

2.1进入百度主页,点击右上角的:登陆,此时在当前页签弹出了一个窗口,获取handles,只有一个:百度主页

2.2、 从百度主页,进入到百度新闻页面,此时浏览器中直接用新闻页面覆盖了百度主页,查看当前所有handles,确实只有一个,且是新闻页:


 

2.3、 但从百度新闻页面,选择其中一个标题,点击,此时浏览器打开第二个页签,获取当前所有的handles,发现有两个,且不做任何处理的话,current handle还是百度新闻主页,故获取的当前url及title都还是百度新闻页得
只有进行窗口切换,标题和url才会更换成选择的标题的:


2.4、 进入百度主页,选择下面的:把百度设置为首页,此时有两个handles,但当前handles还是百度主页,故可以继续在百度主页进行操作:如登陆等:


三、

下载好这个浏览器driver的exe文件后,把这个文件放到你的python安装目录下,例如:C:\Python27\geckdriver.exe

四、

4.1 先在百度搜索框中输入:selenium,然后再点击百度一下 按钮进行搜索,这才是一个完整的操作,只第一句只是模拟在输入框输入关键字
driver.find_element_by_xpath(".//*[@id='kw']").send_keys("selenium")
driver.find_element_by_xpath(".//*[@id='su']").send_keys(Keys.ENTER) #点击百度按钮
第二句需要import:from  selenium.webdriver.common.keys import  Keys
4.2 第二种写法:
driver.find_element_by_id("kw").send_keys("Selenium")
search_btn=driver.find_element_by_id("su").click()
 

猜你喜欢

转载自blog.csdn.net/wdlnancy/article/details/87007969
今日推荐