无法单击希伯来语文本Selenium Web驱动程序Python



我目前正在使用Python(Chrome驱动程序(玩Selenium Web驱动程序, 出于某种原因,我可以让它单击带有英文文本(标签之间(的按钮,但当文本为希伯来语时它不起作用。 举个例子,我正在用谷歌(.co.il(检查它。

当我尝试单击顶部的Gmail按钮时,它起作用了。 但是当我尝试单击代表希伯来语照片的"תמונות"时,它发生了错误,甚至无法写入异常错误(UnicodeEncodeError:"ascii"编解码器无法编码位置 86-91 中的字符:序号不在范围内(128((。

这是我的代码:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import time
from selenium import webdriver
driver = webdriver.Chrome("C:UsersUser-PCDesktopchromedriver_win32chromedriver.exe")
driver.get("http://www.google.co.il/")
linkslist = [u'תמונות']
try:
button = driver.find_element_by_link_text(linkslist[0])
driver.implicitly_wait(5)
button.click()
print(driver.current_url)
except Exception as er:
print "Error: ", format(er)
driver.close
driver.quit()

这对我有用

driver.get('http://www.google.co.il/')
driver.find_element_by_link_text('תמונות').click()

您的代码块中存在一个小问题。打印声明不恰当。这是工作代码:

from selenium import webdriver
driver = webdriver.Chrome(r'C:UtilityBrowserDriverschromedriver.exe')
driver.get("http://www.google.co.il/")
linkslist = [u'תמונות']
try:
button = driver.find_element_by_link_text(linkslist[0])
driver.implicitly_wait(5)
button.click()
print(driver.current_url)
except Exception as er:
print ("Error: ", format(er))
driver.close()
driver.quit()

我的控制台上的输出是:

https://www.google.co.il/imghp?hl=iw&tab=wi
Process finished with exit code 0

更新:

现在,根据您的更新,您会看到一个错误:

print ("Error: ", format(er)) UnicodeEncodeError: 'ascii' codec can't encode characters in position 86-91: ordinal not in range(128)

这几乎是意料之中的,因为您使用的 IDE 可能不支持Unicode字符。因此,只有在将异常转换为可读utf-8字符格式后,我们才会更改打印异常的行,如下所示:

print ("Error: ", format(er)).encode('utf-8')

print ("Error: ", format(er).encode('utf-8'))

让我更新适合您的选项。

最后我得出了一个解决方案, 我用过 driver.find_element_by_link_text(链接列表[计数](.send_keys(Keys.ENTER( 而不仅仅是driver.find_elements_by_link_text("texthere"(.click((

感谢所有的帮助,祝你度过一个美好的一周=(

相关内容

  • 没有找到相关文章

最新更新