Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 隐藏<;p>;selenium python中单击()按钮后不显示文本元素_Python 3.x_Selenium_Selenium Chromedriver - Fatal编程技术网

Python 3.x 隐藏<;p>;selenium python中单击()按钮后不显示文本元素

Python 3.x 隐藏<;p>;selenium python中单击()按钮后不显示文本元素,python-3.x,selenium,selenium-chromedriver,Python 3.x,Selenium,Selenium Chromedriver,我在学硒。我试图检索隐藏的元素,但即使单击该元素,我也无法看到它。我已经尝试了各种答案,在点击按钮以显示隐藏文本元素后访问隐藏文本。我正试图挑选在点击“阅读更多”后出现的附加段落 使用以下示例,我尽可能地单击,但仍然没有显示文本: 我已手动检查源代码以查看前后元素: 在“阅读更多”之前,请单击: 我使用以下方法来了解单击是否有效,元素是否可见,但问题是我查看的类名与其他类名相同,因此我得到了多个令人困惑的结果 elements2 = driver.find_elements_by_xpath(

我在学硒。我试图检索隐藏的元素,但即使单击该元素,我也无法看到它。我已经尝试了各种答案,在点击按钮以显示隐藏文本元素后访问隐藏文本。我正试图挑选在点击“阅读更多”后出现的附加段落

使用以下示例,我尽可能地单击,但仍然没有显示文本:

我已手动检查源代码以查看前后元素:

在“阅读更多”之前,请单击:

我使用以下方法来了解单击是否有效,元素是否可见,但问题是我查看的类名与其他类名相同,因此我得到了多个令人困惑的结果

elements2 = driver.find_elements_by_xpath("//div[@class='encased__wrapper']")

for element2 in elements2:
    print(element2.get_attribute("class"))
    print(element2.get_attribute("style"))
    print(element2.is_displayed())
    print("")
结果:

外包装 最大高度:0px;溢出:隐藏; 假的

外包装 最大高度:0px;溢出:隐藏; 假的

外包装 最大高度:0px;溢出:隐藏; 假的

外包装 最大高度:0px;溢出:隐藏; 假的

外包装 最大高度:0px;溢出:隐藏; 假的

外包装 最大高度:0px;溢出:隐藏; 假的

外包装 最大高度:150像素;溢出:隐藏; 真的

外包装 最大高度:0px;溢出:隐藏; 假的

外包装 溢出:可见; 真的

外包装 溢出:可见; 真的

外包装 最大高度:0px;溢出:隐藏; 真的

结果令人困惑,因为有许多类具有相同的名称,我可能没有正确导航。我似乎在点击前后都得到了相同的结果,所以我猜我也点击了错误的东西

然后,要从我尝试过的未隐藏文本中提取文本:

aab_elem  = driver.find_elements_by_class_name("encased_content")
for po in aab_elem:
    print(po.text)
结果不会生成隐藏文本。这仅打印单击“阅读更多”按钮之前可见的第一段

只有通过以下方式检索整个源时,隐藏文本才可见:

ps = driver.page_source
print(ps)

我只想检索相关文本。

当您使用
驱动程序单击时,是否看到
div展开。按类名称(“list-deet\u\u desc-b”)查找元素。单击()?如果没有,请尝试使用xpath
//button[@class='button is outline list-deet\uu desc-b']
或css
.button.is outline.list-deet\uu desc-b
单击按钮。谢谢,我刚才尝试了xpath选项,但仍然只给出了非隐藏段落。你能告诉我你所说的扩展div是什么意思吗?你的意思是运行直到点击,然后在源代码中检查div是否扩展?我不熟悉这个,所以不确定。
您是否看到这个div的类名,因为
封装的内容已展开
,还是仅
封装的内容
。我相信如果单击成功,则类名将从
封装内容
更改为
封装内容展开
。还请确保使用此
aab_elem=driver更改代码以获取值。通过xpath(“//div[@class='encased-content is expanded']”)查找元素
,并且不确定为什么要使用
find_elements
而只是使用
find_element
并直接获取文本。因为文本将获取所有
文本
将从所有子级获取文本。所以你不必为每一个都使用。只需打印(driver.find_element_by_xpath(“//div[@class='encased-content is expanded'])text())
,除非有多个元素具有相同的类名。谢谢@supputuri,我已根据您的反馈更新了我的描述。我使用了多个元素,因为有多个段落,但它们没有显示。描述是否能更好地说明我做错了什么?当您使用
驱动程序单击时,是否看到
div展开。按类名称(“list-deet\u\u desc-b”)查找元素。单击()?如果没有,请尝试使用xpath
//button[@class='button is outline list-deet\uu desc-b']
或css
.button.is outline.list-deet\uu desc-b
单击按钮。谢谢,我刚才尝试了xpath选项,但仍然只给出了非隐藏段落。你能告诉我你所说的扩展div是什么意思吗?你的意思是运行直到点击,然后在源代码中检查div是否扩展?我不熟悉这个,所以不确定。
您是否看到这个div的类名,因为
封装的内容已展开
,还是仅
封装的内容
。我相信如果单击成功,则类名将从
封装内容
更改为
封装内容展开
。还请确保使用此
aab_elem=driver更改代码以获取值。通过xpath(“//div[@class='encased-content is expanded']”)查找元素
,并且不确定为什么要使用
find_elements
而只是使用
find_element
并直接获取文本。因为文本将获取所有
文本
将从所有子级获取文本。所以你不必为每一个都使用。只需打印(driver.find_element_by_xpath(“//div[@class='encased-content is expanded'])text())
,除非有多个元素具有相同的类名。谢谢@supputuri,我已根据您的反馈更新了我的描述。我使用了多个元素,因为有多个段落,但它们没有显示。描述是否能更好地说明我做错了什么?
elements2 = driver.find_elements_by_xpath("//div[@class='encased__wrapper']")

for element2 in elements2:
    print(element2.get_attribute("class"))
    print(element2.get_attribute("style"))
    print(element2.is_displayed())
    print("")
aab_elem  = driver.find_elements_by_class_name("encased_content")
for po in aab_elem:
    print(po.text)
ps = driver.page_source
print(ps)